그래서 저는 rhino mock을 처음 사용하고 있습니다. 그래서 저는이 프로젝트를 MVP 프로젝트에 적용하려고합니다. 그래서 난 내보기 등처럼 내 발표자에 대한 클래스 나타내는 인터페이스를 가지고 :초급 Rhino 모의 문제
public interface IView {
string SomeData { get; set; }
}
public class Presenter {
public IView View { get; set; }
public void Init(IView view) {
this.View = view;
}
public virtual string DoStuff(){
return "Done stuff with " + this.View.SomeData;
}
}
그리고 나는 DoStuff
방법을 모의 테스트를 설정하기 위해 노력하고있어를, 그래서 기본적인 고정있어 이 같은 :
[TestMethod]
public void Test(){
var mocks = new MockRepository();
var view = mocks.Stub<IView>();
var presenter = mocks.StrictMock<Presenter>();
presenter.Init(view);
using(mocks.Record()){
presenter.Expect(p => p.DoStuff()).Return("Mocked result");
}
string result = string.Empty;
using(mocks.Playback()){
result = presenter.DoStuff();
}
Assert.AreEqual(result, "Mocked result");
}
그러나보기 오브젝트가 null 때문에 나는, (기대 설정시)를 DoStuff
방법 내에서 null 참조 예외가 계속. 그리고 이것은 내가 붙어있는 곳입니다. Init
메서드를 호출했습니다.이 메서드는 View
속성의 값을 할당하며 예상 설정의 요점은 메서드 자체가 호출되지 않았다고 생각했습니다.
테스트 하시겠습니까? – Gutzofter
그는 View 속성이 호출되고 DoStuff() 메서드도 호출되는지 테스트하고 있습니다.AAA 구문이 어떻게 보이는지 보여주는 데모 코드입니다. – sirrocco
값을 위해 어설 션으로 업데이트하겠습니다 ... – tvanfosson