7个版本
0.3.2 | 2021年6月23日 |
---|---|
0.3.1 | 2021年5月13日 |
0.3.0 | 2021年1月27日 |
0.2.1 | 2020年10月20日 |
0.1.1 | 2020年10月20日 |
#313 在 测试 类别
每月 93 次下载
用于 2 个crate
31KB
713 行
mock-io
一个具有模拟IO流和监听器实现的crate。
用法
在您的 Cargo.toml
文件的 dependencies
部分添加 mock-io
[dependencies]
mock-io = "0.3"
以下是此crate的示例用法
use mock_io::sync::{MockListener, MockStream};
let (listener, handle) = MockListener::new();
thread::spawn(move || {
let mut stream = MockStream::connect(&handle).unwrap();
stream.write(&1u64.to_be_bytes()).unwrap();
stream.write(&2u64.to_be_bytes()).unwrap();
});
while let Ok(mut stream) = listener.accept() {
let mut buf = [0; 8];
stream.read(&mut buf).unwrap();
assert_eq!(1u64.to_be_bytes(), buf);
stream.read(&mut buf).unwrap();
assert_eq!(2u64.to_be_bytes(), buf);
}
功能
sync
: 启用同步模拟IO流和监听器- 默认启用
async-futures
: 启用异步模拟IO流和监听器(使用futures::io::{AsyncRead, AsyncWrite}
)- 默认禁用
async-tokio
: 启用异步模拟IO流和监听器(使用tokio::io::{AsyncRead, AsyncWrite}
)- 默认禁用
注意:此crate中的一些函数返回
Future
。因此,您需要使用执行器来驱动这些函数返回的Future
。async-std
和tokio
是两种流行的选择。
许可证
以下任一许可证下使用
- Apache许可证第2版 (LICENSE-APACHE)
- MIT许可证 (LICENSE-MIT)
任选其一。
贡献
除非您明确声明,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0许可证的定义,应按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~0.3–2MB
~39K SLoC