diff --git a/tests/template_tests/syntax_tests/test_cache.py b/tests/template_tests/syntax_tests/test_cache.py
index 52ce9b827c..1742b7111c 100644
--- a/tests/template_tests/syntax_tests/test_cache.py
+++ b/tests/template_tests/syntax_tests/test_cache.py
@@ -1,6 +1,6 @@
 from django.core.cache import cache
-from django.template import TemplateSyntaxError
-from django.test import SimpleTestCase
+from django.template import Context, Template, TemplateSyntaxError
+from django.test import SimpleTestCase, override_settings
 
 from ..utils import setup
 
@@ -115,3 +115,47 @@ class CacheTagTests(SimpleTestCase):
         """
         output = self.engine.render_to_string('cache18')
         self.assertEqual(output, 'cache18')
+
+
+class CacheTests(SimpleTestCase):
+
+    def test_cache_regression_20130(self):
+        t = Template('{% load cache %}{% cache 1 regression_20130 %}foo{% endcache %}')
+        cachenode = t.nodelist[1]
+        self.assertEqual(cachenode.fragment_name, 'regression_20130')
+
+    @override_settings(CACHES={
+        'default': {
+            'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
+            'LOCATION': 'default',
+        },
+        'template_fragments': {
+            'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
+            'LOCATION': 'fragments',
+        },
+    })
+    def test_cache_fragment_cache(self):
+        """
+        When a cache called "template_fragments" is present, the cache tag
+        will use it in preference to 'default'
+        """
+        t1 = Template('{% load cache %}{% cache 1 fragment %}foo{% endcache %}')
+        t2 = Template('{% load cache %}{% cache 1 fragment using="default" %}bar{% endcache %}')
+
+        ctx = Context()
+        o1 = t1.render(ctx)
+        o2 = t2.render(ctx)
+
+        self.assertEqual(o1, 'foo')
+        self.assertEqual(o2, 'bar')
+
+    def test_cache_missing_backend(self):
+        """
+        When a cache that doesn't exist is specified, the cache tag will
+        raise a TemplateSyntaxError
+        '"""
+        t = Template('{% load cache %}{% cache 1 backend using="unknown" %}bar{% endcache %}')
+
+        ctx = Context()
+        with self.assertRaises(TemplateSyntaxError):
+            t.render(ctx)
diff --git a/tests/template_tests/tests.py b/tests/template_tests/tests.py
index 9d1055749c..c62d8a3147 100644
--- a/tests/template_tests/tests.py
+++ b/tests/template_tests/tests.py
@@ -103,47 +103,6 @@ class TemplateRegressionTests(SimpleTestCase):
         output1 = template.render(Context({'foo': range(3), 'get_value': lambda: next(gen1)}))
         self.assertEqual(output1, '[0,1,2,3]', 'Expected [0,1,2,3] in first template, got {}'.format(output1))
 
-    def test_cache_regression_20130(self):
-        t = Template('{% load cache %}{% cache 1 regression_20130 %}foo{% endcache %}')
-        cachenode = t.nodelist[1]
-        self.assertEqual(cachenode.fragment_name, 'regression_20130')
-
-    @override_settings(CACHES={
-        'default': {
-            'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
-            'LOCATION': 'default',
-        },
-        'template_fragments': {
-            'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
-            'LOCATION': 'fragments',
-        },
-    })
-    def test_cache_fragment_cache(self):
-        """
-        When a cache called "template_fragments" is present, the cache tag
-        will use it in preference to 'default'
-        """
-        t1 = Template('{% load cache %}{% cache 1 fragment %}foo{% endcache %}')
-        t2 = Template('{% load cache %}{% cache 1 fragment using="default" %}bar{% endcache %}')
-
-        ctx = Context()
-        o1 = t1.render(ctx)
-        o2 = t2.render(ctx)
-
-        self.assertEqual(o1, 'foo')
-        self.assertEqual(o2, 'bar')
-
-    def test_cache_missing_backend(self):
-        """
-        When a cache that doesn't exist is specified, the cache tag will
-        raise a TemplateSyntaxError
-        '"""
-        t = Template('{% load cache %}{% cache 1 backend using="unknown" %}bar{% endcache %}')
-
-        ctx = Context()
-        with self.assertRaises(TemplateSyntaxError):
-            t.render(ctx)
-
     def test_ifchanged_render_once(self):
         """ Test for ticket #19890. The content of ifchanged template tag was
         rendered twice."""