我有一个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__ –