2013-02-27 21 views
4

我正在研究一個需要能夠使用py.test測試python文件並在程序中使用輸出(測試通過和失敗)的系統。有沒有辦法從python中調用py.test,告訴它在[otherName] .py中的代碼[name] .py中運行測試代碼,並讓它返回測試結果?從代碼中調用和收集py.test的結果

回答

2

我認爲您在尋找Calling pytest from Python codeUsage and Invocations頁面。

也可以通過Specifying tests/selecting tests完成對特定文件的限制測試。

換句話說,這應該做的伎倆:

pytest.main(['my_test_file.py']) 

P.S:Py.test Documantation是相當不錯的,你可以找到大部分的答案有)。

+0

如果您需要獲取更詳細的機器可解析信息,您可能需要或需要編寫一個小插件並將其作爲第二個參數傳遞給pytest.main()調用。例如,你可以實現一個「pytest_unconfigure(config)」鉤子函數,然後調用''config.getplugin(「terminalreporter」)並訪問它的''stats''屬性 - 將測試結果映射到測試報告的字典。 – hpk42 2013-03-04 12:18:42