总结

总之,单元测试可以很容易地在 Move 中编写:

  • 在一个单独的文件/模块中
  • 以 #[test_only] 开头
  • 可以使用 test_scenario 来设置所有上下文,就像代码从交易中执行一样
  • 可以获取归属对象和共享对象来调用被测试函数。在 test_scenario 结束或下一个(测试)交易开始之前,必须归还共享对象
  • 可以创建系统对象 - TxContextClock
  • 可以验证在调用被测试函数时发生中止并返回指定的错误代码
  • 可以进行参数化,目前需要一些样板代码