run_test.py 上出现错误时如何使 conda 包构建失败

How to fail a conda package build when there are errors on run_test.py

我正在创建一个 conda 配方,并添加了 run_test.py 。这些是单元测试类。 不幸的是,当出现错误时,包仍然被创建。

我的问题,如何通知 conda 测试失败,并且不应继续构建包。

run_test.py 包含:

suit = unittest.TestLoader().discover("../tests/unitTest")#, pattern="test[AP][la]*[sr].py") unittest.TextTestRunner(verbosity=2).run(suit )

我确实在 meta.yaml

中添加了文件

test: files: - ../tests/unittest/

这是输出:

Ran 16 tests in 2.550s

FAILED (errors=5)

===== PACKAGE-NAME-None-np18py27_0 OK ====

我想停止构建

脚本需要非零退出。如果测试失败,请在脚本中调用 sys.exit(1)

run_test.py 中,您可以通过执行以下操作调用 unittest.main()

if __name__ == "__main__":
    unittest.main()

如果测试不成功,conda 构建过程将自动失败。这 link 将有助于证明:invoking unittest main method