TDD 방식으로 단위 테스트를 연습하려고하므로 다소 독립적으로 테스트 할 수있는 인터페이스 집합을 만들었습니다. 나는 성공했는지 확신 할 수 없지만 지금은 조롱하는 프레임 워크를위한 시간이라고 확신한다. 나는 예제를 통해 가장 잘 배우며, 매우 능숙한 사람을 신속하게 그 중 한 명으로 번역 할 수있을 것이라고 생각합니다 (Moq 또는 Rhino Mocks가 아마도 내가 찾은 것입니다).이 단위 테스트는 조롱 프레임 워크를 어떻게 활용할 것입니까?
단위 테스트 : 여기
[TestMethod]
public void RendererRendersEachWidgetByCallingBeginRenderThenEndRender()
{
// Mocks/Stubs
ISpace space = new MockSpace();
IWorld world = new MockWorld();
IWidget widget1 = new MockWidget("widget1");
IWidget widget2 = new MockWidget("widget2");
world.Add(widget1);
world.Add(widget2);
// Object under test
IRenderer target = new Renderer(world, space);
target.Render();
// verify BeginRender is called
Assert.IsTrue((space as MockSpace).results.Contains("Begin Render " + widget1.Id));
Assert.IsTrue((space as MockSpace).results.Contains("Begin Render " + widget2.Id));
// verify EndRender is called
Assert.IsTrue((space as MockSpace).results.Contains("End Render " + widget1.Id));
Assert.IsTrue((space as MockSpace).results.Contains("End Render " + widget2.Id));
// verify BeginRender is called before EndRender
var orderedResults = (space as MockSpace).results.Select((s, i) => Tuple.Create(i, s));
Assert.IsTrue(
(orderedResults.Single(x => x.Item2 == "Begin Render " + widget1.Id).Item1) <
(orderedResults.Single(x => x.Item2 == "End Render " + widget1.Id).Item1));
Assert.IsTrue(
(orderedResults.Single(x => x.Item2 == "Begin Render " + widget2.Id).Item1) <
(orderedResults.Single(x => x.Item2 == "End Render " + widget2.Id).Item1));
}
무엇이 질문입니까? –