1

我有两个通过自定义中间表连接的表:

class Foo(models.Model):
    title = models.CharField(max_length=255)

class Bar(models.Model):
    title = models.CharField(max_length=255)
    foos = models.ManyToManyField(Foo, through="FooBar")

class FooBar(models.Model):
    some_attr = models.BooleanField(default=True)
    foo = models.ForeignKey(Foo)
    bar = models.ForeignKey(Bar)

在测试这些模型的保存功能时,我有点茫然。自己保存 Foo 和 Bar 实例很好,但是我如何测试我可以使用模拟添加和保存与 FooBar 的多对多关系?多对多加法测试应该发生在 FooBar 模型还是 Bar 模型上?我想我只是在使用模拟而不是固定装置来测试这些类型的模型时寻找一些方向。

4

1 回答 1

0

我最终为此使用了factory-boy,它提供了一种简单的方法来设置用于测试的实例,同时比使用夹具更灵活。

其他选项包括做类似事情的模型妈妈,人们说语法更容易使用。

于 2013-11-14T17:30:43.273 回答