C# 如何在dotnetcore中将依赖项传递给测试类? [TestClass] 公共类家庭控制器测试 { 公共家庭控制器测试(IStringLocalizer) { } }
在上面测试HomeController的类中,我想获得StringLocalizer thorugh DI,它用于创建HomeController的实例。如何通过DI获得它?通常在测试方法中不使用DI。你需要它吗?为什么?还请指定您正在使用的单元测试框架。您应该避免单元测试中的DI,因为这意味着您现在同时测试单元和DI容器。@ps2goat:和C# 如何在dotnetcore中将依赖项传递给测试类? [TestClass] 公共类家庭控制器测试 { 公共家庭控制器测试(IStringLocalizer) { } },c#,asp.net,unit-testing,asp.net-core,C#,Asp.net,Unit Testing,Asp.net Core,在上面测试HomeController的类中,我想获得StringLocalizer thorugh DI,它用于创建HomeController的实例。如何通过DI获得它?通常在测试方法中不使用DI。你需要它吗?为什么?还请指定您正在使用的单元测试框架。您应该避免单元测试中的DI,因为这意味着您现在同时测试单元和DI容器。@ps2goat:和StrongLocalizer;)Vikram,对于单元测试,您必须使用mock而不是具体的类。否则它就变成了一个集成测试,这是完全不同的,所以最好不要也
StrongLocalizer
;)Vikram,对于单元测试,您必须使用mock而不是具体的类。否则它就变成了一个集成测试,这是完全不同的,所以最好不要也测试控制器,如果你这样做了,就把它减少到最低限度,或者使用TestServer来做。为了实现这一点,您必须在控制器和操作中使用尽可能少的代码,没有业务逻辑您所要求的是什么。
[TestClass]
public class HomeControllerTests
{
public HomeControllerTests(IStringLocalizer<HomeController> localizer)
{
}
}