TDDBE - xUnit 20장
ToDo
나중에 tearDown 호출하기.
이 작업을 하기 전에 일단 이전까지 사용하던 flag 방식은 실행 순서를 못 잡기 때문에..이 작업을 잠시 미루고
ToDo
WasRun에 로그 문자열 남기기.
이 작업을 먼저 합니다. 모든 작업을 마치고 나면...
public TestCaseTest(String methodName) {
super(methodName);
}
public void testTemplateMethod(){
WasRun test = new WasRun("testMethod");
test.run();
assert test.log.equals("setUp testMethod tearDown ");
}
public static void main(String[] args) {
new TestCaseTest("testTemplateMethod").run();
}
}
테스트 코드가 줄어듭니다. 두둥.. 과정을 보여드리지 못해 아쉽네요.
String log;
public WasRun(String methodName) {
super(methodName);
}
public void testMethod() {
log += "testMethod ";
}
@Override
protected void setUp() {
log = "setUp ";
}
@Override
protected void tearDown() {
log += "tearDown ";
}
}
WasRun에서는 flag를 없애고 로그를 남기는 방식으로 바껴서.. 역시 코드가 또 줄어들었습니다.
String methodName;
public TestCase(String methodName) {
this.methodName = methodName;
}
public void run() {
setUp();
try {
Method method = this.getClass().getMethod(methodName, null);
method.invoke(this, null);
} catch (Exception e) {
throw new RuntimeException(e);
}
tearDown();
}
protected void tearDown() {}
protected void setUp() {}
}
끝..