【发布时间】:2016-08-30 00:40:54
【问题描述】:
我将 Nunit 和 FakeItEasy 用于我的 MVC 控制器功能。
我的测试代码:
[Test]
public async Task Search_Success()
{
if (!isFakeInitialized)
InitializeFake();
url = "/N/UserSvc/v1/Types?skip=0&take=" + Constants.MaxSearchRowNumber;
Types= A.CollectionOfFake<Type>(3);
List<Type> found=new List<Type>(Types);
A.CallTo(() => nFake.GetDataAsync<IEnumerable<Type>>(fakeHttpSession, url)).Returns(Types);
var fakeHelper = A.Fake<helperFunctions>();
A.CallTo(() => FakeHelper.GetAvailableTypes(fakeHttpSession, found, true)).Returns(foundTypes);
//Act
var actionResult = await myController.SearchView();
var viewResult = actionResult as ViewResult;
//Assert
Assert.IsNotNull(viewResult);
Assert.AreEqual("Search", viewResult.ViewName);
}
我在
处遇到错误 A.CallTo(() => nFakeHelper.GetAvailableTypes(fakeHttpSession, found, true)).Returns(foundTypes);
错误:无法将 lambda 表达式转换为类型对象,因为它不是委托类型。
这里是辅助函数代码:
public List GetAvailableTypes(Session session,List allTypes,bool includeAllType) { 列表结果 = new List(); 返回结果; }
我该如何克服这个错误。
【问题讨论】:
标签: asp.net-mvc-4 nunit fakeiteasy