mirror of
https://github.com/django/django.git
synced 2024-12-24 18:16:19 +00:00
8662654d6d
Since the original ones in django.db.models.loading were kept only for backwards compatibility, there's no need to recreate them. However, many internals of Django still relied on them. They were also imported in django.db.models. They never appear in the documentation, except a quick mention of get_models and get_app in the 1.2 release notes to document an edge case in GIS. I don't think that makes them a public API. This commit doesn't change the overall amount of global state but clarifies that it's tied to the app_cache object instead of hiding it behind half a dozen functions.
38 lines
1004 B
Python
38 lines
1004 B
Python
import unittest
|
|
|
|
from django.apps import app_cache
|
|
from django.test.utils import IgnoreAllDeprecationWarningsMixin
|
|
|
|
|
|
def suite():
|
|
testSuite = unittest.TestSuite()
|
|
testSuite.addTest(SuiteOverrideTest('test_suite_override'))
|
|
return testSuite
|
|
|
|
|
|
class SuiteOverrideTest(IgnoreAllDeprecationWarningsMixin, unittest.TestCase):
|
|
|
|
def test_suite_override(self):
|
|
"""
|
|
Validate that you can define a custom suite when running tests with
|
|
``django.test.simple.DjangoTestSuiteRunner`` (which builds up a test
|
|
suite using ``build_suite``).
|
|
"""
|
|
|
|
from django.test.simple import build_suite
|
|
app = app_cache.get_app("test_suite_override")
|
|
suite = build_suite(app)
|
|
self.assertEqual(suite.countTestCases(), 1)
|
|
|
|
|
|
class SampleTests(unittest.TestCase):
|
|
"""These tests should not be discovered, due to the custom suite."""
|
|
def test_one(self):
|
|
pass
|
|
|
|
def test_two(self):
|
|
pass
|
|
|
|
def test_three(self):
|
|
pass
|