【发布时间】:2014-04-17 01:33:50
【问题描述】:
如果我使用coverage 运行测试,硒测试会失败。如果我使用python manage.py test ... 运行它们,则此测试通过。
我有一个测试套件,包括一些普通的 python/django 测试以及一些使用 Selenium 的测试。 CustomWebDriver() 是 selenium.webdriver.firefox.webdriver 的子类。
class WebDriverITTTests(LiveServerTestCase, Someothermixins):
@classmethod
def setUpClass(cls):
cls.webdriver = webdriver.CustomWebDriver()
super(WebDriverITTTests, cls).setUpClass()
def test_instructions_logic(self):
...
login, check that some things happened on the server side
open a page, check for "#some_element" loaded via ajax
...
当我在覆盖范围内运行test_instructions_logic 测试时它失败了,因为它找不到"#some_element"。
覆盖命令:coverage run --source mymodule.subapp manage.py test mymodule.subapp --settings myproj.settings
Manage.py 命令:python manage.py test mymodule.subapp --settings myproj.settings
为什么这两种情况的测试结果不同?
【问题讨论】:
标签: python django unit-testing selenium