공용 클래스 NewTest를 작동하지 것은 SeleneseTestCase를 확장 {Junit와 동적으로 생성 된 테스트가
public static Test suite() throws Exception
{
TestSuite suite = new TestSuite();
TestSuite s = new TestSuite("TestCase Name");
GeneratedTest t = new GeneratedTest("testName");
t.setFailure("TestCase Name: testName");
s.addTest(t);
t = new GeneratedTest("testAge");
s.addTest(t);
suite.addTest(s);
s = new TestSuite("TestCase Name2");
t = new GeneratedTest("testOOGABOOGA");
t.setFailure("TestCase Name2: testOOGABOOGA");
s.addTest(t);
suite.addTest(s);
s = new TestSuite("TestCase Name4");
t = new GeneratedTest("testName");
t.setFailure("TestCase Name4: testName");
s.addTest(t);
t = new GeneratedTest("testAge");
s.addTest(t);
suite.addTest(s);
s = new TestSuite("TestCase Name3");
t = new GeneratedTest("testName");
t.setFailure("TestCase Name3: testName");
s.addTest(t);
t = new GeneratedTest("testAge");
s.addTest(t);
suite.addTest(s);
return suite;
}
}
public class GeneratedTest extends TestCase
{
public String testFailMessage;
public GeneratedTest(String name)
{
((TestCase)this).setName(name);
}
public void runTest()
{
if (testFailMessage != null)
{
fail(testFailMessage);
}
}
public void setFailure(String msg)
{
testFailMessage = msg;
}
}
당신이 볼 수있는 (또는 어쩌면 당신은 할 수 없음) 내가 런타임에 JUnit을 위해 테스트를 추가 해요한다. 이것은 제대로 표시되지 않는다는 점을 제외하고는 모두 훌륭하고 멋쟁이입니다. 당신이 볼 수 있듯이
이 같은 이름을 가진 테스트 심지어 그들이 중복 된 이름을 가진 마지막 시험을 제외하고, 실행 된 적이 있음을 표시하지 않습니다, 그리고 테스트 : 여기, 내가 무엇을 의미하는지에 관해 안다 같은 이름을 가진 다른 모든 테스트의 오류 메시지가 있습니다.
이 방법은 단지 junit3 스타일을 사용하는 방식의 결함일까요? Junit4 매개 변수화를 사용하여이를 수정해야합니까?
junit4 (JDK5 이상 필요)로 전환하려면 꼭해야합니다. 매개 변수화 된 테스트가 확실히 귀하의 경우에 대한 해답입니다. – topchef