unit-testing - 使用松露直接测试以太坊事件

标签 unit-testing events ethereum solidity smartcontracts

我发现了以下使用 javascript 在 truffle 中测试事件日志记录的问题:

Test ethereum Event Logs with truffle

但是truffle也支持直接在solidity中编写测试。但是,我找不到任何关于如何测试事件日志记录的文档。有人可以帮我解决这个问题吗?

最佳答案

事件是存储在区 block 链中的日志。要获得事件,您需要观看链。 http://solidity.readthedocs.io/en/develop/contracts.html#events

Solidity Truffle 测试是合约。并且契约(Contract)只是以太坊帐户存储代码。该代码在该帐户收到交易时执行。以太坊合约无法通过 watch chain 获取事件日志。所以Solidity不支持获取事件。 https://github.com/ethereum/wiki/wiki/White-Paper#ethereum-accounts

关于unit-testing - 使用松露直接测试以太坊事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44316495/

相关文章:

testing - “Out of Gas” 将以太坊从账户转移到合约时

javascript - 如何将我的 Solidity 合约定义为 javascript 对象?

javascript - 在 jQuery 中取消注册委托(delegate)事件

javascript - 动态创建的元素上的事件绑定(bind)?

java - 如何对日期相关方法进行单元测试?

javascript - 监视不可变的 native 方法

javascript - 操作 $(document).ready 上的 datePicker CSS

ethereum - 处理事务 : out of gas 时出现 VM 异常

django - 也停止运行测试的抽象 django.test TestCase 类

unit-testing - 单个测试用例结果的技术术语