Commit f1a9cc57 by Renzo Lucioni

Merge pull request #239 from edx/renzo/parallel-testing

Add option to run Python unit tests in parallel
parents bbba590c 34a2809d
......@@ -9,7 +9,9 @@ help:
@echo ' make migrate apply migrations '
@echo ' make serve start the dev server at localhost:8002 '
@echo ' make clean delete generated byte code and coverage reports'
@echo ' make test_python run unit tests with migrations disabled '
@echo ' make test_javascript run javascript unit tests '
@echo ' make test_python run Python unit tests with migrations disabled '
@echo ' make fast_test_python run Python unit tests in parallel '
@echo ' make quality run pep8 and pylint '
@echo ' make validate run unit tests, followed by quality checks '
@echo ' make html_coverage generate and view HTML coverage report '
......@@ -20,7 +22,6 @@ help:
@echo ' make fake_translations install fake translations '
@echo ' make pull_translations pull translations from Transifex '
@echo ' make update_translations install new translations from Transifex '
@echo ' make test_javascript run javascript unit tests '
@echo ' '
requirements.js:
......@@ -46,11 +47,16 @@ test_javascript:
gulp test
test_python: clean
python manage.py compress --settings=ecommerce.settings.test
python manage.py compress --settings=ecommerce.settings.test -v0
DISABLE_MIGRATIONS=True coverage run --branch --source=ecommerce ./manage.py test ecommerce \
--settings=ecommerce.settings.test --with-ignore-docstrings --logging-level=DEBUG
coverage report
fast_test_python: clean
python manage.py compress --settings=ecommerce.settings.test -v0
DISABLE_MIGRATIONS=True DISABLE_ACCEPTANCE_TESTS=True ./manage.py test ecommerce \
--settings=ecommerce.settings.test --processes=4 --with-ignore-docstrings --logging-level=DEBUG
quality:
pep8 --config=.pep8 ecommerce acceptance_tests
pylint --rcfile=pylintrc ecommerce acceptance_tests
......@@ -62,7 +68,6 @@ static:
python manage.py collectstatic --noinput -v0
python manage.py compress -v0
html_coverage:
coverage html && open htmlcov/index.html
......
import os
from django.contrib.messages import constants as MSG
from django.core.urlresolvers import reverse
from django.test import TestCase, LiveServerTestCase, override_settings
from nose.plugins.skip import SkipTest
from oscar.core.loading import get_model
from oscar.test import factories
from selenium.common.exceptions import NoSuchElementException
......@@ -37,6 +40,9 @@ class OrderListViewTests(OrderViewTestsMixin, RefundTestMixin, LiveServerTestCas
@classmethod
def setUpClass(cls):
if os.environ.get('DISABLE_ACCEPTANCE_TESTS') == 'True':
raise SkipTest
cls.selenium = WebDriver()
super(OrderListViewTests, cls).setUpClass()
......
import os
from unittest import skip
import ddt
from django.core.urlresolvers import reverse
from django.test import LiveServerTestCase
from nose.plugins.skip import SkipTest
from oscar.core.loading import get_model
from oscar.test import factories
from selenium.common.exceptions import NoSuchElementException
......@@ -24,6 +26,9 @@ ALL_REFUND_STATUSES = (
class RefundAcceptanceTestMixin(RefundTestMixin):
@classmethod
def setUpClass(cls):
if os.environ.get('DISABLE_ACCEPTANCE_TESTS') == 'True':
raise SkipTest
cls.selenium = WebDriver()
super(RefundAcceptanceTestMixin, cls).setUpClass()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment