Cal*_*eng 6 django selenium unit-testing selenium-rc
所以我正在尝试在我正在开展的几个项目中引入selenium单元测试django 1.4.
运行单元测试的标准方法就是这样做./manage.py test,我用它django-ignoretests来排除我不想测试的特定django应用程序(根据需要).
但是,有没有办法配置我的项目,以便我可以决定在我想要的时候只运行selenium测试,并且只./manage.py test运行标准的单元测试.
分离和组织硒测试和标准单元测试有哪些最佳实践?
您可以随时将所有selenium测试分组到一个软件包中myapp/selenium_tests/(例如/sf/answers/361254561/中所述),然后运行manage.py test myapp.selenium_tests并将其余测试分组myapp/other_tests.
否则,我想你可以编写一个测试运行器,检查每个测试类是否派生自LiveServerTestCase(参见文档:https : //docs.djangoproject.com/en/dev/topics/testing/#defining-a-test-跑者)
对于有问题的测试类,我添加了以下装饰器:
from django.conf import settings
@unittest.skipIf(getattr(settings,'SKIP_SELENIUM_TESTS', False), "Skipping Selenium tests")
Run Code Online (Sandbox Code Playgroud)
然后跳过那些测试添加到设置文件: SKIP_SELENIUM_TESTS = True
这可以很容易地包装到LiveServerTestCase的子类或简单的装饰器中.如果我在不止一个地方拥有它,它就已经存在了.