Windows环境,python 2.7,最新的鼻子测试。
查看nosetest文档并在Google上搜索,我看不到测试失败时测试cmd行错误级别。
我们需要这样,以便我们的构建系统可以检测到测试失败。
问题是:
答案 0 :(得分:2)
%errorlevel%
是应用程序的返回代码,通常是exit(int)
调用的参数(退出代码)。这些返回代码与unittest
相同,但文档不是很明确:
testRunner参数可以是测试运行器类,也可以是已创建的实例。默认情况下,主调用sys.exit(),其中一个退出代码表示测试成功或失败。
在上面的句子中默认如果调用参数exit
未设置为False
,则理解为:
主要支持通过传入参数exit = False从交互式解释器中使用。这会在不调用sys.exit()
的情况下在标准输出上显示结果
(2.7和3.1中的新功能。在旧版本中,始终会调用sys.exit
。)
我没有找到关于返回代码的特殊文档,但是查看源代码,可以发现退出代码为0 for success, 1 for error(unittest alone相同)和2 if the usage help has to be printed(给定参数时作为独立程序调用是不正确的)。特定于鼻子,当程序被要求display version或list plugins时,退出代码也是0。