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
|
||||
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()
|
||||
try:
|
||||
self._pre_setup()
|
||||
|
|
|
@ -3,6 +3,7 @@ from __future__ import with_statement
|
|||
import sys
|
||||
|
||||
from django.test import TestCase, skipUnlessDBFeature, skipIfDBFeature
|
||||
from django.utils.unittest import skip
|
||||
|
||||
from models import Person
|
||||
|
||||
|
@ -115,6 +116,21 @@ class SaveRestoreWarningState(TestCase):
|
|||
# Remove the filter we just added.
|
||||
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"""
|
||||
# Some checks of the doctest output normalizer.
|
||||
# Standard doctests do fairly
|
||||
|
|
Loading…
Reference in New Issue