我正在使用鼻子运行一堆测试用例。 我想将每个案例的输出记录到单独的文件中,并且知道每个案例的结果[成功/失败]。不幸的是,我无法弄清楚如何用鼻子做到这一点。任何人都可以提供一些线索吗?谢谢
答案 0 :(得分:5)
首先,这听起来像异常使用,并且可能表明您应该重新考虑您的测试方案。
我可以想出几种方法来解决这个问题。最简单的方法是让每个测试记录本身而不是让鼻子为你做。如果您只进行了一些测试,或者只关心记录一些测试的结果,那肯定是这样做的。
更复杂,更通用的方法是write a nose plug-in,记录每个测试完成后的结果。为此,您需要编写一个实现afterTest()方法的插件。
from nose.plugins import Plugin
import datetime
class SeparateReports(Plugin):
"Log the results of each test into a separate file."
def afterTest(self, test):
logname = test.id() + '.log'
success = test.passed
date = datetime.datetime.now()
# print logname, datetime.datetime.now(), success
with open(logname, 'a') as log:
log.write("%s: %s\n" % (date, success))
这将附加到以特定测试命名的日志文件为日期戳,如果成功则为True,对于失败则附加为False。几个笔记: