一個方法,我嘲笑我的控制器的方法和我的控制器看起來像這樣模擬與參數
我的控制器:
public class PController : BaseController
{
readonly IRFacade _repository;
public PController()
{
_repository = new RiFacade();
}
[CLSCompliant(false)]
public PController(IRFacade repositories)
{
if (repositories == null) throw new ArgumentNullException("repositories");
_repository = repositories;
}
public aMethod(String Id){
int[] arraynum = convert id to int[]
int numberthis = _repository.ActionFunction(arraynum);
..return stuff
}
,我創建這個樣子的
public interface IRFacade
{
int ActionFunction(int[] arrayOfNum);
}
接口IRFacade
當我測試aMethod
,我必須模擬_repository
我這樣做的設置
var MockFacade = new Mock<IRFacade>();
// here fakeinput is a int[] varaible and aNumber is a int variable
MockFacade.Setup(r => r.ActionFunction(fakeinput)).Returns(aNumber);
我的問題是,爲什麼我必須通過實際的INT [] varaible fakeInput
我聲明反對,只是傳遞一個參數類型r.ActionFunction(int[] avaraible)
當我設置了模擬?