두 가지 방법이있는 클래스가 있습니다. 하나의 메소드는 다른 메소드를 호출해야하며, 테스트에서는 호출 된 것으로 주장하고 싶습니다.RhinoMock에서 다른 메소드 내에서 메소드가 호출 된 경우 어떻게 어설 션 하시겠습니까?
public class Tasks : ITasks
{
public void MethodOne()
{
MethodTwo(1);
}
public int MethodTwo(int i)
{
return i + 1;
}
}
나는 작업을 조롱하고 tasks.AssertWasCalled(x => x.MethodTwo(1))
처럼 뭔가를 할 수 있습니다. MethodTwo 가상해야합니까?
이것은 질문을 단순화하기위한 예제 클래스입니다. :) 실제 코드에는 SharpArchitecture에서 제공하는 작업 (응용 프로그램 서비스) 클래스가 있습니다. 어쨌든, 나는 이미 나쁜 디자인을보기 시작했다. 예를 들어 MethodTwo()가 MethodOne()에 의해서만 사용되는 예제를 따라하면, 그 클래스에서 상속하지 않는다면 그 메소드는 가상이 아니어야한다. 생각, 나는 다른 클래스에 의해 사용될 것이라고 생각한다. 그래서 아마 지금은 private이되어야하고 private 메소드는 조롱받지 않았고 테스트를 거치지 않았다. 부분적인 mocks에 대한 링크를 가져 주셔서 감사합니다. :) –