![](/img/trans.png)
[英]continue test after assertion fail using xmlrunner and unittest in python
[英]How to enable custom test discovery with unittest while using xmlrunner
我試圖在使用xmlrunner以XML格式報告我的測試結果時使用自定義測試發現。 有人可以向我解釋如何正確使用unittest.TestLoader().discover()
嗎? 我已經在文件test.py
的末尾嘗試了以下內容:
if __name__ == '__main__':
with open('output.xml', 'wb') as output:
unittest.main(
testRunner=xmlrunner.XMLTestRunner(output=output),
failfast=False, buffer=False, catchbreak=False, exit=False,
testLoader=unittest.TestLoader().discover('.', pattern = "*_test.py")
)
但這給出了錯誤:
File "test.py", line 20, in <module>
failfast=False, buffer=False, catchbreak=False, exit=False, testLoader=unittest.TestLoader().discover('.', pattern = "*_test.py"))
File "/usr/lib/python3.5/unittest/main.py", line 93, in __init__
self.parseArgs(argv)
File "/usr/lib/python3.5/unittest/main.py", line 140, in parseArgs
self.createTests()
File "/usr/lib/python3.5/unittest/main.py", line 144, in createTests
self.test = self.testLoader.loadTestsFromModule(self.module)
AttributeError: 'TestSuite' object has no attribute 'loadTestsFromModule'
如果我在沒有testLoader參數並且模塊參數設置為None的情況下運行,則將運行測試發現,但默認設置不是我想要的。
到目前為止,我找到的所有答案都與命令行有關,例如python –m unittest discover -p "test*.py" ...
這不是我想要的。 我將不勝感激第一個代碼段所建議的代碼內解決方案。
謝謝
我遇到了同樣的問題,最終得到了以下解決方案:
test_results = xmlrunner.XMLTestRunner(output="xml_test_result").run(unittest.TestLoader().discover("./test", "*_test.py"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.