我正在爲我的MVC控制器功能使用Nunit和FakeItEasy。嘗試假冒幫手功能時遇到問題
我的測試代碼:
[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表達式類型的對象,因爲它不是一個委託類型。
這裏是輔助函數代碼:
公開名單GetAvailableTypes(會話會話列表allTypes,布爾includeAllType) { 列出結果=新名單(); 返回結果; }
我該如何克服這個錯誤。