如何对锯齿波超级账本交易处理器进行单元测试

How to unit test a sawtooth hyperledger transaction processor

我很难弄清楚如何 运行 锯齿超级账本交易处理器的单元测试。我正在关注他们关于此主题的文档:

https://sawtooth.hyperledger.org/docs/core/releases/1.0/app_developers_guide/testing.html

但是,它没有解释设置必要环境等的操作方法,实际上 运行 进行单元测试。我已经尝试构建 docker compose 文件,它似乎试图构建和 运行 测试:

docker-compose -f sawtooth-core/sdk/examples/xo_python/tests/test_tp_xo_python.yaml up

docker-compose 文件似乎包含一些环境变量,例如

不确定需要为上述环境变量设置什么值,在我的例子中它失败了,因为它无法获取这些变量的值。

关于如何 运行 处理器测试的任何想法、指示或方向都将非常有帮助。

非常感谢!

您可以浏览 Sawtooth 核心存储库并找到值: https://github.com/hyperledger/sawtooth-core

  • SAWTOOTH_CORE 是您克隆 sawtooth-core git 存储库的根目录(默认为您的当前目录)
  • INSTALL_TYPElocal(可能还有其他值,但我不知道)
  • ISOLATION_ID 是锯齿波版本。例如,1.1。它用于识别要下载的 Docker 容器。

您可以 运行 通过 Docker 进行测试 bin/run_tests

锯齿波测试目前使用 Jenkins CI 完成。从 Jenkinsfile 开始,看看测试是如何完成的。