首页 > 解决方案 > 使用 web3 智能合约时,Mocha 测试在完成后挂起

问题描述

我为一个与以太坊智能合约一起工作的节点应用程序编写了一些集成测试(因此使用合约的状态作为数据存储)。我正在使用web3和在测试的断言部分实例化一些智能合约接口,我正在使用它们来检查是否已将有效信息写入区块链。

但是,在测试通过后,mocha 进程仍在运行,我必须手动将其关闭。我怀疑发生这种情况是因为智能合约接口基本上是开放的连接并且它们没有关闭,我知道当您对普通数据库连接执行相同操作时会发生这种情况(请参阅此处:Mocha 在与 Mongoose 连接时执行后挂起)。

我没有找到任何disconnect或类似web3的api方法,有人有类似的经验吗?

标签: node.jsmocha.jssmartcontractsweb3web3js

解决方案


有人指出我--exit可以将一个标志传递给 mocha,它会在所有测试完成运行后终止进程,这可能是目前足够好的解决方案。


推荐阅读