我使用next命令来运行我的测试:
python -m unittest discover -p“* .py”
它将测试结果写入stdout。但是我想把结果作为文件(如果可能的话,在html中) 现在我使用PyCharm得到它并且它工作得很好但我需要自动在远程机器上运行测试并获得报告。我该怎么办?
答案 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服务器。