【发布时间】:2016-02-09 03:43:57
【问题描述】:
我有一个 Python 测试用例。当使用以下命令从命令行运行测试时,测试结果正确。它显示了 2 个测试用例:
python TestClassAddBasket.py
但是,如果使用以下命令运行:
python -m unittest discover
它运行 2 次并显示 4 个测试用例结果
TestClassAddBasket.py
# -*- coding: UTF-8 -*-
import unittest
class TestClassAddBasket(unittest.TestCase):
def test_item_one(self):
.....
def test_item_two(self):
........
..........
manuelTextRunner(TestClassAddBasket)
我的手动文本运行器功能是:
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__':- 您的电话。 -
已经试过了。从 -m unittest 命令,它不会检测该行,因为它不是 main
标签: python python-2.7 selenium selenium-webdriver python-unittest