3

我正在创建一个 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(套装 )

我确实在 meta.yaml 中添加了文件

测试:文件:-../tests/unittest/

这是输出:

在 2.550 秒内运行 16 次测试

失败(错误=5)

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

我想停止构建

4

2 回答 2

2

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

于 2015-01-27T22:29:51.140 回答
2

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

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

如果测试不成功,conda 构建过程将自动失败。此链接将帮助演示:invoking unittest main method

于 2016-05-20T20:05:00.020 回答