加快不断增长的测试套件的设置开销

时间:2014-04-29 17:54:48

标签: django unit-testing

我们有一个大约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调用的缓存?

0 个答案:

没有答案