node.js - 使用 web3 智能合约时,Mocha 测试在完成后挂起
问题描述
我为一个与以太坊智能合约一起工作的节点应用程序编写了一些集成测试(因此使用合约的状态作为数据存储)。我正在使用web3
和在测试的断言部分实例化一些智能合约接口,我正在使用它们来检查是否已将有效信息写入区块链。
但是,在测试通过后,mocha 进程仍在运行,我必须手动将其关闭。我怀疑发生这种情况是因为智能合约接口基本上是开放的连接并且它们没有关闭,我知道当您对普通数据库连接执行相同操作时会发生这种情况(请参阅此处:Mocha 在与 Mongoose 连接时执行后挂起)。
我没有找到任何disconnect
或类似web3
的api方法,有人有类似的经验吗?
解决方案
有人指出我--exit
可以将一个标志传递给 mocha,它会在所有测试完成运行后终止进程,这可能是目前足够好的解决方案。
推荐阅读
- c# - 关于使用 UI 按钮更改对象不透明度的问题
- java - 双向链表问题。一次迭代会是什么样子?
- android - 为什么 LiveData 比 MutableLiveData 更好?
- winapi - ShellExecute bat 文件提升(FMX,Win32)
- gradle - Spring Boot Gradle 脚本 - 获取 mainClassName
- javascript - 使用 Mozilla 导航器从剪贴板粘贴内容
- python-3.x - 元组列表理解
- java - 有人可以帮我用java打印这个模式或者帮我处理逻辑吗
- node.js - UnhandledPromiseRejectionWarning 即使代码在 async/await 中有 try/catch
- c++11 - bad_alloc 带有 unordered_map initializer_list 和 MMX 指令,可能堆损坏?