1

我有一个相对较大的 web api 应用程序,即它目前有大约 300 个表。

该应用程序的编写方式不使用任何存储过程并且几乎没有视图,即业务逻辑都在应用程序代码中。它使用存储库模式,因此为我们的单元测试创​​建模拟数据相对容易。

然而,管理模拟数据非常困难,任何给定的个人都很难深入了解已经存在的数据。我们尝试将测试数据移动到模拟工厂,以便将其存储在单个文件中,然后根据需要加载各种测试(即给定测试只需要数据的某个子集,因此它只会要求该子集)。

尽管如此,数据的管理还是相当复杂的,断言从应用程序返回的数据也很脆弱。例如,假设在我们的模拟数据中定义了 10 个客户,其中 2 个被标记为不活跃。我们可能有一个测试用例,它测试应该返回所有活动客户的方法应该返回 8 个实例。但是,如果开发人员必须向我们的测试数据添加一个新实例,这将破坏现有的测试/断言。

有没有人有管理这方面的经验,或者有没有关于这方面的文章?

4

1 回答 1

0

听起来您正在创建一个用于多个测试的测试数据。这不是最好的解决方案。您应该在每个测试的基础上创建您需要的数据。测试数据构建器模式应该在这里为您提供帮助。此链接描述了您将如何使用测试数据生成器。此外,Mark Seemann 还编写了一个库来帮助构建这种称为autofixture的模拟数据。

他在 PluralSight 上有一个关于高级单元测试的精彩视频。如果您可以访问 PluralSight,我建议您观看视频。

于 2014-05-19T05:53:04.240 回答