0

在我的一些单元测试中,我试图返回使用 Moq 作为参数传递的字符串。

如果我要求它返回一个指定的字符串,例如“home.aspx”,它将起作用。

var navMock = new Mock<INavigationService>();
navMock
    .Setup(x => x.GetUrlForSystem(It.IsAny<NavigationService.System>(), It.IsAny<string>()))
    .Returns("home.aspx");

但是,当要求它返回参数时,我收到一个

System.Reflection.TargetParameterCountException :参数计数不匹配。

var navMock = new Mock<INavigationService>();
navMock
    .Setup(x => x.GetUrlForSystem(It.IsAny<NavigationService.System>(), It.IsAny<string>()))
    .Returns((string s) => s);
4

1 回答 1

3
    var navMock = new Mock<INavigationService>();  
     navMock  
    .Setup(x => x.GetUrlForSystem(It.IsAny<NavigationService.System>(), It.IsAny<string>()))  
    .Returns((NavigationService.System n, string s) => s); 
于 2012-07-03T23:38:22.270 回答