如何使用多个输入组合进行测试?

时间:2015-07-27 11:59:39

标签: c# unit-testing

我有一段我需要测试的代码,它分为三部分:

  • Web API Controller
  • Persistence/Logic Layer
  • System calls for persistence

这是基本的GET/POST/PUT/DELETE呼叫系统。 例如,在控制器中,我使用GetAll方法调用第二层中的Get,然后调用某个Sql database方法或另一个web api方法。

场景: 模拟second layer并调用controller。 模拟system calls并调用second layer。 模拟system calls并调用controller

对于每个方案,我对controller/second图层中的每个方法都有多个测试输入。

最好的方法是什么?我希望尽可能少地使用代码重复。

我可以在我的测试中使用datasource attribute,并为每个测试提供一个图层值,用于选择我要做的模拟类型,对于每个图层值,我会添加测试数据(输入参数) )。但是测试数据对于所有图层值都是通用的,这意味着我必须为每个图层值复制它。此外,我对controller/persistence图层中的所有方法都有相同的图层值,这也是重复的。

我想以某种方式分析层值,这对于所有测试都是常见的(考虑类级别值),并且还为controller(方法级别)中的每个方法都有特定的输入值。然后,对于每种方法,我都会进行一项测试,在该测试中我会在一般图层值和特定方法输入值之间进行某种交叉积。 我怎么能做到这一点?

谢谢, 西普里安。

0 个答案:

没有答案