5
나는 Moq 3.x를 사용하려고하는데, 그것은 훌륭하게 작동합니다. 그러나 해결 방법을 찾을 수없는 문제가 있습니다.Moq with Action 인수가
var passingTestSpec = new Mock<ITestSpec>();
passingTestSpec
.Setup(m => m.Run(null))
.Returns(true);
Action<string, string> fakeAction =
(expected, actual) => { throw new Exception("Should not run"); };
Assert.IsTrue(passingTestSpec.Object.Run(fakeAction));
내 문제는 passingTestSpec.Object.Run에 어떤 호출 (... 액션의 ...) false를 반환하는 것입니다 :
public interface ITestSpec
{
bool Run(Action<string, string> onIncorrectResponse);
}
을 감안할 때 나는 다음과 같은 노력하고 있습니다. Moq 라이브러리가 Setup() 호출에서 Run()에 전달한 인수에 작업을 일치 시키려고 시도하는 중일 수 있습니다. 실제로 Run() 호출에 어떤 액션을 넣든 상관 없습니다 ... 여전히 false를 반환합니다.
아이디어가 있으십니까?
[편집] 방금 뭔가 발견했습니다. 설정 라인을
.Setup(m => m.Run(fakeAction))
으로 바꾸면됩니다. 그러나 .Run() 메서드를 호출 할 동작을 알 수 없으므로이 방법은 해결책이 아닙니다. 아무도 그것을 안다. 행동에 대한 동등한 가치가 있니?
나는 사람이 ... 해결책을 찾을 것입니다 나는이 :(덕분에 몇 시간을 낭비 생각을 알고 있어야 LOL, 나는 그와 함께 갈 것을, 그것은 더 나은 내것보다. –