[生态] expectrl v0.2.0 发布
expectrl 是一款自动化测试实用工具,专为交互式应用程序设计,支持:
- 创建进程
- 控制进程
- 与进程 IO 进行交互
示例
代码语言:javascript复制use expectrl::{spawn, Regex, Eof, WaitStatus};
fn main() {
let mut p = spawn("ftp speedtest.tele2.net").unwrap();
p.expect(Regex("Name \(.*\):")).unwrap();
p.send_line("anonymous").unwrap();
p.expect("Password").unwrap();
p.send_line("test").unwrap();
p.expect("ftp>").unwrap();
p.send_line("cd upload").unwrap();
p.expect("successfully changed.rnftp>").unwrap();
p.send_line("pwd").unwrap();
p.expect(Regex("[0-9] "/upload"")).unwrap();
p.send_line("exit").unwrap();
p.expect(Eof).unwrap();
assert_eq!(p.wait().unwrap(), WaitStatus::Exited(p.pid(), 0));
}
GitHub - zhiburt/expectrl: https://github.com/zhiburt/expectrl
Crates.io - expectrl: https://crates.io/crates/expectrl
[文章] Rust 插件开发 - 深入理解动态加载
系列文章 Plugin Development Kit in Rust 在近日发布了关于动态加载的新内容。
Plugins in Rust: Diving into Dynamic Loading: https://nullderef.com/blog/plugin-dynload/
[观点] Rust 可能有益于经验较少的程序员
在 Reddit 最近的一篇帖子中,作者回顾了曾被广泛讨论过的 Rust 的优点,并认为这可能对经验较少的程序员有益:
- 开箱即用。并且得益于 cargo 的帮助,可以快速创建项目并开始编程,并拥有测试、文档、格式化的全套支持。
- 简单易用。理解和模仿示例并不需要投入大量精力,程序往往能够清晰地表达自己的作用。在阅读文档和示例后,可以快速展开工作。(在学习阶段,如何准确完成工作相对没那么重要。)
- 鼓励探索。学习 Rust 可以推动对编程和计算机相关知识的理解,每深入一步都意味着有新的收获。
Reddit - Rust can be good for less experienced programmers: https://www.reddit.com/r/rust/comments/q2gwse/rust_can_be_good_for_less_experienced_programmers/