我正在寻找一些有关在Kubernetes集群中构造名称空间的良好示例,以及为长期可维护性标记我的Pod的适当方法。
您可以推荐一些资源,还是遵循一些可靠实践的真实应用程序示例?
我的目标是测试转到标准输出的函数的输出。到目前为止,我最好的尝试是在测试中用字符串替换流。
到目前为止,这是我设法实现的目标:
use std::io;
use std::fmt;
fn hello(stdout: &mut std::fmt::Write) {
writeln!(stdout, "Hello world");
}
#[test]
fn hello_test() {
let mut stdout = String::new();
// pass fake stdout when calling when testing
hello(&mut stdout);
assert_eq!(stdout, "Hello world\n".to_string());
}
fn main() {
// pass real stdout when calling from main
hello(&mut io::stdout());
}
Run Code Online (Sandbox Code Playgroud)
测试有效,但不幸的io::stdout()是没有实现该fmt::Write特征。
测试在Rust中写入标准输出的函数的最佳解决方案是什么?有没有办法用字符串修复我的解决方案,还是应该寻找替代方法?