Django4.0 进阶测试主题-强制按顺序运行测试类
2022-03-17 12:00 更新
如果你有一些测试类不能并行运行(例如,因为它们共享一个公共资源),你可以使用 django.test.testcases.SerializeMixin 来依次运行它们。这个 mixin 使用一个文件系统 lockfile
例如,你可以使用 __file__ 来确定同一文件中所有继承自 SerializeMixin 的测试类将依次运行:
import os from django.test import TestCase from django.test.testcases import SerializeMixin class ImageTestCaseMixin(SerializeMixin): lockfile = __file__ def setUp(self): self.filename = os.path.join(temp_storage_dir, 'my_file.png') self.file = create_file(self.filename) class RemoveImageTests(ImageTestCaseMixin, TestCase): def test_remove_image(self): os.remove(self.filename) self.assertFalse(os.path.exists(self.filename)) class ResizeImageTests(ImageTestCaseMixin, TestCase): def test_resize_image(self): resize_image(self.file, (48, 48)) self.assertEqual(get_image_size(self.file), (48, 48))以上内容是否对您有帮助:

免费 AI IDE


更多建议: