我在Django中创建了一个自定义字段
class MyField(models.CharField):
description = "My awesome field"
# ...
我想创建一个单元测试,在其中我创建一个使用该字段的临时/短暂模型。我的目标是测试to_python
,from_db_value
和validate
等函数是否从实际模型的视图中正确实现。
我也不想让模型包含在生产数据库中。我已经找到了一些不同的方法,他们不工作:
这些似乎都已经过时了。我希望能够在tests.py
文件中定义模型(即projectroot/myapp/tests.py
)并以某种方式让setUp
将模型添加到数据库中:
class MyModelTest(models.Model):
myField = MyField()
class MyFieldTestCase(TestCase):
def setUp():
# ... do something funky to create the table
def test_foo(self):
myModel = MyModel.objects.create(myField="something")
self.assertEqual(myModel.myField, "something")
有没有人对如何处理这个问题有个好主意?