[英]How do you run unit tests in Python in the REPL?
我正在嘗試使用標准庫中的 unittest 在 Python 中開發單元測試,我想在 REPL 中嘗試一下。 如果我加載了以下代碼
import unittest
class TestTrivial(unittest.TestCase):
def test_trivial(self):
self.assertEqual(1 + 1, 2)
self.assertFalse(2 + 2 == 5)
然后我可以在 REPL 中評估以下內容:
unittest.main()
吐出來:
Ran 1 test in 0.000s
OK
Process Python finished
問題是它殺死了 REPL。 如何在不退出 REPL 的情況下運行它?
將exit=False
作為參數傳遞:
unittest.main(exit=False)
unittest.main
實際上不是 function; 它只是unittest.main.TestProgram
的另一個名稱,它的__init__
方法最終調用了一個runTests
方法,該方法以這些行結尾:
if self.exit:
sys.exit(not self.result.wasSuccessful())
將self.exit
設置為False
可防止sys.exit
。
這是記錄在案的(見本節末尾),但不容易找到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.