mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Fixed #18551 -- Enabled skipIfDBFeature/skipUnlessDBFeature to decorate a class
Thanks Tim Graham for the review and improved patch.
This commit is contained in:
@@ -2,13 +2,12 @@
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
import unittest
|
||||
from unittest import skip
|
||||
|
||||
from django.db import connection
|
||||
from django.forms import EmailField, IntegerField
|
||||
from django.http import HttpResponse
|
||||
from django.template.loader import render_to_string
|
||||
from django.test import SimpleTestCase, TestCase, skipUnlessDBFeature
|
||||
from django.test import SimpleTestCase, TestCase, skipIfDBFeature, skipUnlessDBFeature
|
||||
from django.test.html import HTMLParseError, parse_html
|
||||
from django.test.utils import CaptureQueriesContext, IgnoreAllDeprecationWarningsMixin
|
||||
from django.utils import six
|
||||
@@ -27,6 +26,29 @@ class SkippingTestCase(TestCase):
|
||||
self.assertRaises(ValueError, test_func)
|
||||
|
||||
|
||||
class SkippingClassTestCase(TestCase):
|
||||
def test_skip_class_unless_db_feature(self):
|
||||
@skipUnlessDBFeature("__class__")
|
||||
class NotSkippedTests(unittest.TestCase):
|
||||
def test_dummy(self):
|
||||
return
|
||||
|
||||
@skipIfDBFeature("__class__")
|
||||
class SkippedTests(unittest.TestCase):
|
||||
def test_will_be_skipped(self):
|
||||
self.fail("We should never arrive here.")
|
||||
|
||||
test_suite = unittest.TestSuite()
|
||||
test_suite.addTest(NotSkippedTests('test_dummy'))
|
||||
try:
|
||||
test_suite.addTest(SkippedTests('test_will_be_skipped'))
|
||||
except unittest.SkipTest:
|
||||
self.fail("SkipTest should not be raised at this stage")
|
||||
result = unittest.TextTestRunner(stream=six.StringIO()).run(test_suite)
|
||||
self.assertEqual(result.testsRun, 2)
|
||||
self.assertEqual(len(result.skipped), 1)
|
||||
|
||||
|
||||
class AssertNumQueriesTests(TestCase):
|
||||
urls = 'test_utils.urls'
|
||||
|
||||
@@ -561,7 +583,7 @@ class SkippingExtraTests(TestCase):
|
||||
with self.assertNumQueries(0):
|
||||
super(SkippingExtraTests, self).__call__(result)
|
||||
|
||||
@skip("Fixture loading should not be performed for skipped tests.")
|
||||
@unittest.skip("Fixture loading should not be performed for skipped tests.")
|
||||
def test_fixtures_are_skipped(self):
|
||||
pass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user