mirror of https://github.com/django/django.git
Added test runner option to skip Selenium tests (#19854).
This commit is contained in:
parent
687d2e967d
commit
1cd2f51eb4
|
@ -1,3 +1,5 @@
|
|||
import os
|
||||
|
||||
from django.test import LiveServerTestCase
|
||||
from django.utils.module_loading import import_by_path
|
||||
from django.utils.unittest import SkipTest
|
||||
|
@ -8,6 +10,8 @@ class AdminSeleniumWebDriverTestCase(LiveServerTestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
if os.environ.get('DJANGO_SKIP_SELENIUM_TESTS', False):
|
||||
raise SkipTest('Selenium tests skipped by explicit request')
|
||||
try:
|
||||
cls.selenium = import_by_path(cls.webdriver_class)()
|
||||
except Exception as e:
|
||||
|
|
|
@ -136,6 +136,15 @@ Then, run the tests normally, for example:
|
|||
|
||||
./runtests.py --settings=test_sqlite admin_inlines
|
||||
|
||||
If you have Selenium installed but for some reason don't want to run these tests
|
||||
(for example to speed up the test suite), use the ``--skip-selenium`` option
|
||||
of the test runner.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./runtests.py --settings=test_sqlite --skip-selenium admin_inlines
|
||||
|
||||
|
||||
.. _running-unit-tests-dependencies:
|
||||
|
||||
Running all the tests
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
from __future__ import absolute_import
|
||||
|
||||
import gettext
|
||||
import os
|
||||
from os import path
|
||||
|
||||
from django.conf import settings
|
||||
|
@ -176,6 +177,10 @@ class JsI18NTestsMultiPackage(TestCase):
|
|||
javascript_quote('este texto de app3 debe ser traducido'))
|
||||
|
||||
|
||||
skip_selenium = os.environ.get('DJANGO_SKIP_SELENIUM_TESTS', False)
|
||||
|
||||
|
||||
@unittest.skipIf(skip_selenium, 'Selenium tests skipped by explicit request')
|
||||
@unittest.skipUnless(firefox, 'Selenium not installed')
|
||||
class JavascriptI18nTests(LiveServerTestCase):
|
||||
urls = 'regressiontests.views.urls'
|
||||
|
|
|
@ -301,7 +301,12 @@ if __name__ == "__main__":
|
|||
'--liveserver', action='store', dest='liveserver', default=None,
|
||||
help='Overrides the default address where the live server (used with '
|
||||
'LiveServerTestCase) is expected to run from. The default value '
|
||||
'is localhost:8081.'),
|
||||
'is localhost:8081.')
|
||||
parser.add_option(
|
||||
'--skip-selenium', action='store_true', dest='skip_selenium',
|
||||
default=False,
|
||||
help='Skip running Selenium tests even it Selenium itself is '
|
||||
'installed. By default these tests are not skipped.')
|
||||
options, args = parser.parse_args()
|
||||
if options.settings:
|
||||
os.environ['DJANGO_SETTINGS_MODULE'] = options.settings
|
||||
|
@ -314,6 +319,9 @@ if __name__ == "__main__":
|
|||
if options.liveserver is not None:
|
||||
os.environ['DJANGO_LIVE_TEST_SERVER_ADDRESS'] = options.liveserver
|
||||
|
||||
if options.skip_selenium:
|
||||
os.environ['DJANGO_SKIP_SELENIUM_TESTS'] = '1'
|
||||
|
||||
if options.bisect:
|
||||
bisect_tests(options.bisect, options, args)
|
||||
elif options.pair:
|
||||
|
|
Loading…
Reference in New Issue