Python unittest结果文件

时间:2013-12-11 15:51:57

标签: python unit-testing nose

我使用next命令来运行我的测试:

  

python -m unittest discover -p“* .py”

它将测试结果写入stdout。但是我想把结果作为文件(如果可能的话,在html中) 现在我使用PyCharm得到它并且它工作得很好但我需要自动在远程机器上运行测试并获得报告。我该怎么办?

3 个答案:

答案 0 :(得分:4)

您可以使用>

将输出写入文件
python -m unittest discover -p "*.py" > results.txt

这不是特定于Python的,而是允许您将标准输出重定向到文件的UNIX(这是> filename所做的)。

答案 1 :(得分:2)

基本上你必须继承TestRunner类并编写自己的输出实现(如果stdout重定向不是你想到的那样)。

另一个答案中包含的单位测试机制的基本overview

原则上,TestRunner使用您提供的TestSuite信息,并将其结果存储到TestResult对象中。每个班级都可以修改为你的西装。

来自Wai Yip Tung的HTMLTestRuner的一个例子。

答案 2 :(得分:1)

您可以简单地将结果发送到文件

python -m unittest discover -p "*.py" > output.txt

如果您需要其他格式,则有多种套餐:请参阅此前question 例如,unittest-xml-reporting将为例如JUnit样式输出CI服务器。