0
下面是我想要编写单元测试代码:我想编写单元测试,以假冒MemberViewModel对象,这样我可以写在行动操作的其余测试如何使用FakeItEasy伪造对象初始化?
public virtual ActionResult TryIt()
{
MemberViewModel viewModel = new MemberViewModel();
_memberViewModelLookupBuilder.PopulateSelectLists(viewModel);
return View(viewModel);
}
。 喜欢的东西 -
A.CallTo(() => viewModel = new TryItViewModel()).Returns(viewModel);
但是,这并不工作,并给出了一个错误说
“表达式树不能包含赋值运算符”
任何人都可以请指教如何我可以做到这一点?
我在测试项目中使用了xUnit和FakeItEasy。
对此非常感谢。
我认为模拟框架提供了使用“设置”方法伪造类构造函数的能力,如果我没有错的话。不确定,如果提供的解决方案将在大型项目中发挥作用。我的意思是,为每个ViewModel创建接口不应该是一件容易的事。我相信FakeItEasy应该有一些机制来允许这一点。 – Nirman
@Nirman,我不明白你所有的意见: “我认为模拟框架提供了使用”设置“方法伪造类构造函数的能力,” 除此之外,我看到了建议的方法在相当大的一个企业软件系统中。 这就是说,我明白这并不是那么方便。由于FakeItEasy平台是建立在平台上,伪造构造函数是不可行的。 但是,其他嘲笑框架,如[Isolator](http://www.typemock.com/isolator-product-page)和[JustMock](http://www.telerik.com/products/mocking.aspx )支持嘲笑构造函数。 –