asp.net-mvc - 如何使用全局配置对 MVC/Web API 进行单元测试

标签 asp.net-mvc unit-testing asp.net-web-api

我想对我的 Controller 进行单元测试,但在我的 Global.asax.cs 文件中,我必须注册诸如 JSON 格式化程序、自定义 header 和 AutoMapper 映射之类的内容。由于 VS 单元测试功能是通过 DLL 而不是 API 来测试 Controller ,因此不会创建 HttpApplication 并且我的很多代码无法测试。我怎样才能解决这个问题?

测试 JsonFormatter 输出的最简单方法是什么,因为它实际上不是 Controller 的一部分,但也可能是异常的来源?

最佳答案

我遇到过同样的问题。
对于 autoMaopper,我运行了我的 MapperConfig.Initialize();在我的单元测试的 Setup 方法中(我使用 NUnit)

我也打电话
"WebApiConfig.Register(GlobalConfiguration.Configuration);"在我的设置方法中
但是我的 Controller 中对 Configuration.Services.GetTraceWriter() 的调用返回空引用异常。所以我不能帮助那个。

关于asp.net-mvc - 如何使用全局配置对 MVC/Web API 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13806452/

相关文章:

java - 如何创建自定义 JUnit5 扩展

c# - 具有不同参数类型的web api多个post方法

c# - 在 ASP.Net MVC 中合并多个数据库上下文

Java 11 junit jupiter 断言抛出

asp.net-mvc - ASP.NET MVC 3 url 路由

java - 使用 kotlin 时在单元测试和仪器测试之间共享代码

asp.net - 使属性可反序列化但不可序列化

c# - Web API 删除方法不起作用

javascript - ASP.NET MVC AJAX 与 jQuery

ASP.NET MVC - jquery 日期选择器