我正在尝试将pytest
测试集成到Blender下使用的某些代码中。由于Blender包裹python的方式,我不得不从Blender调用的某些python代码内部调用pytest
。
Calling pytest from Python code
我已经成功设置了运行测试,一旦出现故障,甚至可以正确断言。
E assert (1, 0, 1) == (0, 0, 1)
E At index 0 diff: 1 != 0
E Use -v to get the full diff
tests/test_pytest.py:11: AssertionError
但是,此结果不会渗透到通过Blender备份并返回到TravisCI工具中,从而导致测试失败,因此将测试标记为通过。这是运行“通过”的日志
https://travis-ci.org/douglaskastle/blender-fake-addon/builds/476605512
如何将pytest
的结果从搅拌器代码内部一直连接到TravisCI运行器?
答案 0 :(得分:0)
所需要做的只是将pytest
的失败传递升级到搅拌器,这就像使用函数返回的值并使用sys.exit
终止一样简单。
exit_val = pytest.main(["tests"], plugins=[SetupPlugin("fake_addon")])
sys.exit(exit_val)