@coder-rust-testing
<skill_overview> 编写快速、可靠且可维护的 Rust 测试 编写单元测试 添加集成测试 测试异步代码 提高测试可靠性 The Rust Book - 测试 </skill_overview> <test_struct> 在同一模块中使用 #[cfg(test)] mod 测试进行单元测试 将集成测试放在测试/中作为单独的板条箱 保持测试独立和确定性 </test_struct> <arrange_act_assert> 使用 Arrange、Act、Assert 构建每个测试 #[test] fn add_two_numbers_returns_sum() { 让结果 = add(2, 3); assert_eq!(5, 结果); } </arrange_act_assert> <async_tests> 使用运行时提供的异步测试工具避免睡眠;使用超时和确定性输入</async_tests> 使用assert!、assert_eq!、assert_ne!为了清楚起见,请使用火柴!对于枚举模式断言 <anti_patterns> 依赖于执行顺序的测试 在单元测试中命中真实的外部服务 跨测试共享全局可变状态 </anti_patterns>
<skill_overview> 编写快速、可靠且可维护的 Rust 测试 编写单元测试 添加集成测试 测试异步代码 提高测试可靠性 The Rust Book - 测试 </skill_overview> <test_struct> 在同一模块中使用 #[cfg(test)] mod 测试进行单元测试 将集成测试放在测试/中作为单独的板条箱 保持测试独立和确定性 </test_struct> <arrange_act_assert> 使用 Arrange、Act、Assert 构建每个测试 #[test] fn add_two_numbers_returns_sum() { 让结果 = add(2, 3); assert_eq!(5, 结果); } </arrange_act_assert> <async_tests> 使用运行时提供的异步测试工具避免睡眠;使用超时和确定性输入</async_tests> 使用assert!、assert_eq!、assert_ne!为了清楚起见,请使用火柴!对于枚举模式断言 <anti_patterns> 依赖于执行顺序的测试 在单元测试中命中真实的外部服务 跨测试共享全局可变状态 </anti_patterns>