工厂男孩django工厂的FACTORY_FOR在哪里?

时间:2013-01-29 02:53:48

标签: python django factory-boy

我在Django项目中使用Factory Boy,我需要在相应的工厂中访问类中定义的类属性。

我的测试用例有以下几点:

from django.test.testcases import TransactionTestCase
from app.tests.factories import SomeModelFactory

class MyTestCase(TransactionTestCase):   
    def test_something(self):
        ...
        SomeModelFactory.create(
            data_type=SomeModelFactory.FACTORY_FOR.TYPE_STRING)
        ...

我的课程,你可能猜到,在正确的位置有相应的常数。

class SomeModel(models.Model):
  TYPE_STRING = 2
  ...

并且相应的工厂定义为

class SomeModelFactory(factory.Factory):
  FACTORY_FOR = SomeModel
  ...

测试用例失败,说FACTORY_FOR不存在。所以,我认为元类隐藏在某个地方。理想情况下,如果我使用工厂,我希望最小化导入模型的需要。

1 个答案:

答案 0 :(得分:1)

SomeModelFactory._associated_class应该是你要找的......