我正在进行一个非常简单的测试
class NewVisitorTest(unittest.TestCase):
def setUp(self):
self.browser = webdriver.Firefox()
def tearDown(self):
self.browser.quit()
def test_can_see_homepage(self):
self.browser.get('http://localhost:8000')
self.assertIn('Floppers', self.browser.title)
if __name__ == '__main__':
unittest.main(warnings='ignore')
该测试似乎已完全运行(浏览器打开和关闭),但是该测试挂起并且从未真正完成。另一方面,如果我注释掉teardown()
方法,它可以正常运行(但是我必须手动关闭浏览器)。如果我以详细模式运行,则该测试似乎挂在test_can_see_homepage
测试上。
Adding permission 'Permission object (None)'
Adding permission 'Permission object (None)'
System check identified no issues (0 silenced).
test_root_url_resolves_to_splash__view (main.tests.unit.test_splash.SplashPage) ... ok
test_can_see_homepage (main.tests.functional.test_splash.NewVisitorTest) ...
它将无限期保持这种状态。如果我ctrl + c
退出,那么它将显示结果,好像完成了一样。使用tearDown()
方法会导致测试本身停滞,这可能是怎么回事?
如果相关,我正在使用带有Awesome-WM的Arch Linux(以防由于我的设置或某些原因而没有发送信号)。