对一个控制器进行单元测试,该控制器通过Startup类调用另一个控制器

时间:2018-11-02 08:56:29

标签: c# asp.net-mvc unit-testing asp.net-web-api

我有一个asp.net Web api项目,我想对控制器中的动作进行单元测试。

此操作将调用ServiceManager类中的另一个静态方法,该方法将调用另一个controllerApi中的另一个操作!必须调用启动类中的Configuration(IAppBuilder app)方法以在ServiceManager中正确设置几个属性,以使操作返回某些内容!

下图说明了这一点:

diagram

我要进行单元测试的是确保在调用actionFoo时也要调用actionBoo。我不想进行集成测试,也不想修改整个配置,以免单元测试无效。

测试这种情况的正确方法是什么?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

如对OP的评论中所述,测试调用另一个API的控制器是集成测试,因此不是您所说的单元测试。隔离地测试每个控制器通常是单元测试的领域,它模拟依赖关系并针对输入对输出进行测试。