我们有一个大约150个测试的单元测试套件正在快速增长。我们正在使用Tastypie
来构建API并测试每个资源的功能。我们正在使用FactoryBoy
来创建模型/数据库条目。我们每次测试都涉及相当数量的数据库设置。典型的SetUp方法如下所示:
self.customer_1 = Customer.objects.create_user(self.username, self.username,
self.password)
self.site = SiteFactory()
Subscription.objects.create(customer=self.customer_1,
site=self.site)
self.post_1 = PostFactory(site=self.site)
self.comment_1 = CommentFactory(post=self.entry_1,
customer=self.customer_1)
由于在每次单元测试之前调用SetUp,我们通常会在每次测试中查看5-10个查询。它加起来。在150单元测试中,我的Macbook Pro上运行大约需要40秒。
我不确定团队是否已准备好/愿意使用模拟进行数据库调用。是否有任何其他优化可以使运行Django / Tastypie测试套件少一点痛苦?也许某些SetUp调用的缓存?