我正在创建一个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中添加了文件
试验: 文件: - ../ tests / unittest /
这是输出:
在2.550s中进行16次测试
失败(错误= 5)
===== PACKAGE-NAME-None-np18py27_0 OK ====
我想停止构建
答案 0 :(得分:2)
脚本需要退出非零值。如果测试失败,请在脚本中调用sys.exit(1)
。
答案 1 :(得分:2)
在run_test.py
中,您可以通过执行以下操作来调用unittest.main()
:
if __name__ == "__main__":
unittest.main()
如果测试不成功,conda构建过程将自动失败。此链接有助于演示:invoking unittest main method