【发布时间】:2017-06-02 07:46:52
【问题描述】:
我创建了一个单元测试项目。我得到一个异常指定
无法获取类 *****.Tests.Controllers.PersonRegistration 的默认构造函数
namespace *****.Tests.Controllers
{
[TestClass]
public class PersonRegistration
{
private ILoggingService _loggingService;
private IUserManager _userManager;
public PersonRegistration(IUserManager userManager, ILoggingService loggingService)
{
this._userManager = userManager;
this._loggingService = loggingService;
}
[TestMethod]
public void TestMethod1()
{
RegisterBindingModel model = new RegisterBindingModel();
AccountController ac = new AccountController(_userManager, _loggingService);
model.UserName = "test123@gmail.com";
var result = ac.Register(model);
Assert.AreEqual("User Registered Successfully", result);
}
}
}
为了消除这个问题,一些线程说要添加一个没有参数的默认构造函数。所以我也加了这个
public PersonRegistration()
{
}
但后来我解决了异常。但我得到NULL 的值
_userManager 和 _loggingService
如何解决该问题。我不想在传递时生成空值。
请在不使用Moq 或任何其他模拟框架的情况下提出解决此问题的方法来帮助我。
【问题讨论】:
-
您好.. 如果您查看我昨天发布的问题的答案,您会发现我提供了一个不使用 Mocks 的解决方案。
-
@Wheels73。谢谢你。你告诉我添加一个没有任何参数的构造函数。但它会返回 _
userManager和_loggingService的NULL值 -
我会重新发布您需要的内容。
-
@Wheels73 。你能在这里发布这个问题的答案吗
-
[ClassInitialize] public void SetUp() { _loggingService = new LoggingService(); _userManager = new UserManager(); }
标签: c# asp.net-mvc unit-testing parameterized-unit-test