1 个不稳定版本
0.1.0 | 2020年1月19日 |
---|
#576 在 测试
31KB
347 行
fakeenv
对 std::env
的简单封装,允许模拟环境。
示例
使用真实环境
use fakeenv::EnvStore;
fn answer(env: &EnvStore) -> i32 {
env.var("THE_ANSWER").unwrap().parse().unwrap()
}
fn main() {
std::env::set_var("THE_ANSWER", "42");
let env = EnvStore::real();
assert_eq!(answer(&env), 42);
}
创建模拟环境
仅在启用 fake
功能时才启用模拟。
由于此库主要用于测试目的,您可能希望像这样启用功能
[dependencies]
fakeenv = "0.1.0"
[dev-dependencies]
fakeenv = { version = "0.1.0", features = ["fake"] }
然后您可以使用 EnvStore::fake
生成模拟环境
use fakeenv::EnvStore;
fn answer(env: &EnvStore) -> i32 {
env.var("THE_ANSWER").unwrap().parse().unwrap()
}
fn main() {
let env = EnvStore::fake();
env.set_var("THE_ANSWER", "42");
assert_eq!(answer(&env), 42);
}
模拟用户目录
启用 dirs
功能可以模拟 dirs
函数。
[dependencies]
fakeenv = { version = "0.1.0", features = ["dirs"] }
let env = EnvStore::real();
println!("home directory = {:?}", env.home_dir());
依赖项
~65–540KB