1

我在 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说不存在。因此,我认为元类将其隐藏在某个地方。理想情况下,如果我使用工厂,我想尽量减少直接导入模型的需要。

4

1 回答 1

1

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

于 2013-01-29T12:36:12.807 回答