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

Truffle Test执行显示0用例通过,如何排查问题?

Truffle测试显示0用例通过的原因及解决办法

针对你遇到的合约编译成功但测试用例完全不执行(显示0 passing)的问题,主要排查以下几个常见原因:

1. 测试文件存放路径错误

Truffle默认会自动扫描项目根目录下的test/文件夹来加载测试文件。如果你的测试文件放在了src/或其他非默认目录中,Truffle无法识别到这些测试用例,自然不会执行。
解决方法:将测试文件移动到项目根目录的test/文件夹下。

2. 测试文件名不符合规则

Truffle要求测试文件必须以.js(JavaScript测试)、.ts(TypeScript测试)或.sol(Solidity测试)作为后缀。如果你的测试文件名没有正确后缀(比如直接命名为socialNetwork),Truffle会忽略该文件。
解决方法:给测试文件加上正确的后缀,例如命名为socialNetwork.test.js或socialNetwork.js。

3. Truffle配置文件的测试路径被错误修改

如果你自定义了truffle-config.js中的测试目录配置,可能因为路径设置错误导致Truffle找不到测试文件。检查配置文件中的test_directory字段:

module.exports = {
  // 其他配置项...
  test_directory: './test' // 确保该路径指向你的测试文件所在目录
};

4. 合约部署异常(次要排查项)

虽然这种情况通常会导致测试用例失败而非0用例,但可以临时添加日志确认合约是否成功部署:
修改测试代码中的before块:

before(async () => {
  socialNetwork = await SocialNetwork.deployed();
  console.log("已部署合约地址:", socialNetwork.address); // 查看控制台输出确认地址是否存在
})

如果输出为空或报错,说明合约部署有问题,需要检查migrations/文件夹下的部署脚本是否正确。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:13:17