自定义 Python 测试套件不会筛选和运行所有案例



我创建了一个自定义测试套件来仅运行其中一个测试用例,但所有测试用例都在运行中。

class TestBlackboxGame(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.public_path = os.path.join('public', 'index.html')
cls.game_path = os.path.abspath(os.path.join('..', cls.public_path))
assert(os.path.exists(cls.game_path))
cls.driver = webdriver.Chrome()
@classmethod
def tearDownClass(cls):
cls.driver.quit()
def test_open_game(self):
print('Visiting game at ' + self.game_path)
self.driver.get(self.game_path)
self.assertTrue('Wheel' == self.driver.title)
def test_selenium_start_with_bing(self):
self.driver.get("http://www.bing.com")    
inputElement = self.driver.find_element_by_name("q")
inputElement.send_keys("cheese!")
inputElement.submit()
self.assertTrue('cheese' in self.driver.title)
def testsuite_open_game():
suite = unittest.TestSuite()
suite.addTest(TestBlackboxGame("test_open_game"))
return suite
if __name__ == '__main__':
runner = unittest.TextTestRunner(failfast=True)
runner.run(testsuite_open_game())

在我的套件中,我只添加了测试用例"test_open_game",但它正在运行两种情况,包括转到 Bing 和搜索。我错过了什么?

看看这个答案。

似乎当您将测试用例添加到套件时,您正在添加其所有测试。如果只想运行一个测试,请拆分为两个测试用例。

事实证明,代码正在做它应该做的事情。我正在使用 Pycharm,并没有注意到 Pycharm 将脚本作为单元测试运行。当 Pycharm 运行此脚本时,它会绕过我的主脚本并运行所有测试用例。

最新更新