여러 접근 방법이 코뿔소 모의 객체를 사용할 때 단위 테스트를 작성하기 위해 존재 방법?Rhino Mock에서 사용할 수있는 가장 좋은 스타일/구문은 무엇입니까?</p> <ul> <li>표준 구문</li> <li>기록/재생 구문</li> <li>유창 구문</li> </ul> <p>을 이상적인 가장 마찰이 무엇 :
8
A
답변
0
흥미로운 질문입니다! 내 자신의 환경 설정은 반사 기반 구문 (표준 구문에 의한 것)에 대한 것입니다. 나는 이것이 매우 마찰이 없다고 주장 할 것이다. 많은 여분의 코드를 추가하지 않기 때문이다. 제대로 구현 된 것처럼 인터페이스에서 스텁을 직접 참조한다.
매우 성가신 일이지만 저는 Fluent 문법도 매우 좋아합니다. Record/Replay 구문은 Fluent 구문만큼 복잡하지는 않지만 (겉으로는 그럴 듯하지는 않지만) 적어도 직관적이지는 않습니다. 필자는 NMock2 만 사용 했으므로 Record/Replay 구문은 약간 외계인이지만 Fluent 구문은 꽤 친숙합니다.
그러나 this post과 같이 사용자가 기대치를 검증/주장에서 분리하는 것을 선호하는 경우 Fluent 구문을 선택해야합니다. 궁극적으로 스타일과 개인 취향의 문제입니다.
1
Arrange, act, assert. 저는 MoQ를 사용하고 Arrange, Assert, Act, Verify를 선호합니다. 나는 끝까지 무거운 짐을 싣기보다 행동하기 전에 모든 것을 준비하고 싶습니다.
1
.NET 2.0의 경우 레코드/재생 모델을 사용하는 것이 좋습니다. 우리는 이것이 검증과 기대를 명확히 구분하기 때문에 이와 같습니다.
using(mocks.Record())
{
Expect.Call(foo.Bar());
}
using(mocks.Playback())
{
MakeItAllHappen();
}
.NET 3.5 및 C# 3을 사용하는 경우 유창한 구문을 사용하는 것이 좋습니다.