You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cargo test无法识别tests目录下测试用例问题求助

解决Cargo无法识别src外tests目录中测试函数的问题
  • 确认目录结构与Cargo规则
    Cargo默认将项目根目录下的tests/作为集成测试目录,每个.rs文件会被编译为独立测试crate。确保tests/和src/平级,且tests/types/typed.rs的层级正确。同时,测试函数必须添加#[test]属性,示例:

    #[test]
    fn test_typed_logic() {
        // 测试代码
    }
    
  • 检查Cargo.toml的自定义测试配置
    若Cargo.toml中存在[[test]]区块,可能覆盖了默认扫描规则。如果手动指定了测试文件路径,会导致其他测试被忽略。要么删除该区块让Cargo自动扫描tests/下所有文件,要么明确添加目标测试文件的配置:

    [[test]]
    name = "typed_tests"
    path = "tests/types/typed.rs"
    
  • 确保跨模块引用的正确性
    集成测试是独立crate,若typed.rs需要引用src中的代码,需通过项目crate名引入,比如你的项目名为my_project,则:

    use my_project::types::*;
    
  • 验证命令执行路径
    必须在项目根目录下执行cargo test,否则Cargo无法定位到tests/目录。

  • 手动指定测试目标排查
    若上述步骤无效,可尝试直接指定测试目标来验证:

    # 若未自定义[[test]],用文件名作为测试目标名
    cargo test --test typed
    # 若自定义了name,用配置中的name
    cargo test --test typed_tests
    

内容的提问来源于stack exchange,提问作者DesperateEngineer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:12:07