我在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
不存在。所以,我认为元类隐藏在某个地方。理想情况下,如果我使用工厂,我希望最小化导入模型的需要。
答案 0 :(得分:1)
SomeModelFactory._associated_class
应该是你要找的......