我是区块链新手,正在尝试使用 Etherium 环境和 ReactJS 来学习区块链。出于学习目的,我点击以下链接:
https://www.dappuniversity.com/articles/blockchain-tutorial
一切都按照上面链接中的说明运行,直到测试用例执行步骤。当我运行 truffle test 时,代码编译成功,但通过率为 0。
下面是我用reactJS编写的测试用例代码:
const SocialNetwork = artifacts.require('./socialNetwork.sol')
require('chai').use(require('chai-as-promised')).should()
contract('SocialNetwork', (accounts) => {
let socialNetwork
before(async () => {
socialNetwork = await SocialNetwork.deployed()
})
describe('deployment', async () => {
it('has a name', async () => {
const name = await socialNetwork.name()
assert.equal(name, 'Dapp Social Network')
})
})
})
以下是运行 truffle test 后的输出:
truffle test
Using network 'development'.
Compiling your contracts...
===========================
> Compiling .\src\contracts\Migrations.sol
> Compiling .\src\contracts\SocialNetwork.sol
> Artifacts written to C:\Users\asus\AppData\Local\Temp\test--26480-U15AuvrMpfHd
> Compiled successfully using:
- solc: 0.5.16+commit.9c3226ce.Emscripten.clang
0 passing (1ms)
我无法理解为什么我的测试用例没有执行。问题是什么以及造成这种情况的原因是什么。有人可以帮忙解决这个问题吗?
mocha 已经内置在 Truffle 中,它会寻找测试目录。确保您的测试文件位于
test
目录中。
检查您的合同名称,确保没有拼写错误。根据您的代码
contract('SocialNetwork', (accounts) => {}
它的名字应该是
SocialNetwork