我有一個Python測試用例。使用以下命令從命令行運行測試時,測試結果存在正確。它示出了2測試用例:Python單元測試從命令行執行超過預期
python TestClassAddBasket.py
但是,如果與下面的以下命令運行:
python -m unittest discover
它運行2次,並顯示4測試用例reult
TestClassAddBasket.py
# -*- coding: UTF-8 -*-
import unittest
class TestClassAddBasket(unittest.TestCase):
def test_item_one(self):
.....
def test_item_two(self):
........
..........
manuelTextRunner(TestClassAddBasket)
我的manuel文字轉輪功能是:
def manuelTextRunner(self, TestClassName):
testnames = unittest.getTestCaseNames(TestClassName,'test_')
suite = unittest.TestSuite()
suite.addTests([TestClassName(methodName) for methodName in testnames])
unittest.TextTestRunner(verbosity=2).run(suite)
爲什麼我使用python -m unittest discover
因爲有很多測試用例並且只用一個命令就可以運行。
那麼,有什麼會導致運行測試倍數?我的跑步者功能有任何錯誤?
'if __name__ =='__main__':' - 你的電話。 – sobolevn
已經,我試過了。來自-m unittest命令,它並不代表該行,因爲它不是__main__ –