Fixed #14049 -- Made our TestCase subclasses not load database fixtures (nor set up custom URLconfs) for test methods that are going to be skipped. Thanks zimnyx for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16369 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
703498b1c8
commit
4ab5a43785
|
@ -282,6 +282,11 @@ class TransactionTestCase(ut2.TestCase):
|
||||||
set up. This means that user-defined Test Cases aren't required to
|
set up. This means that user-defined Test Cases aren't required to
|
||||||
include a call to super().setUp().
|
include a call to super().setUp().
|
||||||
"""
|
"""
|
||||||
|
testMethod = getattr(self, self._testMethodName)
|
||||||
|
if (getattr(self.__class__, "__unittest_skip__", False) or
|
||||||
|
getattr(testMethod, "__unittest_skip__", False)):
|
||||||
|
return
|
||||||
|
|
||||||
self.client = self.client_class()
|
self.client = self.client_class()
|
||||||
try:
|
try:
|
||||||
self._pre_setup()
|
self._pre_setup()
|
||||||
|
|
|
@ -3,6 +3,7 @@ from __future__ import with_statement
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from django.test import TestCase, skipUnlessDBFeature, skipIfDBFeature
|
from django.test import TestCase, skipUnlessDBFeature, skipIfDBFeature
|
||||||
|
from django.utils.unittest import skip
|
||||||
|
|
||||||
from models import Person
|
from models import Person
|
||||||
|
|
||||||
|
@ -115,6 +116,21 @@ class SaveRestoreWarningState(TestCase):
|
||||||
# Remove the filter we just added.
|
# Remove the filter we just added.
|
||||||
self.restore_warnings_state()
|
self.restore_warnings_state()
|
||||||
|
|
||||||
|
|
||||||
|
class SkippingExtraTests(TestCase):
|
||||||
|
fixtures = ['should_not_be_loaded.json']
|
||||||
|
|
||||||
|
# HACK: This depends on internals of our TestCase subclasses
|
||||||
|
def __call__(self, result=None):
|
||||||
|
# Detect fixture loading by counting SQL queries, should be zero
|
||||||
|
with self.assertNumQueries(0):
|
||||||
|
super(SkippingExtraTests, self).__call__(result)
|
||||||
|
|
||||||
|
@skip("Fixture loading should not be performed for skipped tests.")
|
||||||
|
def test_fixtures_are_skipped(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
__test__ = {"API_TEST": r"""
|
__test__ = {"API_TEST": r"""
|
||||||
# Some checks of the doctest output normalizer.
|
# Some checks of the doctest output normalizer.
|
||||||
# Standard doctests do fairly
|
# Standard doctests do fairly
|
||||||
|
|
Loading…
Reference in New Issue