我对正确运行的Web应用程序进行了一系列功能测试,但每个都需要使用@BeforeClass和@AfterClass注释提供的类级别设置和拆卸,因此需要JUnit 4.0或更高版本.
现在我想使用少量的这些功能测试来执行负载测试,这些测试模拟了大量用户请求Web应用程序的相关页面.为了让每个用户在JWebUnit中拥有自己的"模拟浏览器",我需要在JUnitPerf中使用TestFactory来实例化测试中的类,但是由于JUnit 4测试是通过注释@Test而不是从中派生出来的TestCase,所以我得到了一个TestFactory must be constructed with a TestCase class例外.
是否有人成功使用JUnitPerf及其TestFactory与JUnit 4?什么是让它全部起作用的秘诀?
小智 10
您需要一个知道JUnit4的TestFactory.我在下面加了一个.
import junit.framework.JUnit4TestAdapter;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import com.clarkware.junitperf.TestFactory;
class JUnit4TestFactory extends TestFactory {
static class DummyTestCase extends TestCase {
public void test() {
}
}
private Class<?> junit4TestClass;
public JUnit4TestFactory(Class<?> testClass) {
super(DummyTestCase.class);
this.junit4TestClass = testClass;
}
@Override
protected TestSuite makeTestSuite() {
JUnit4TestAdapter unit4TestAdapter = new JUnit4TestAdapter(this.junit4TestClass);
TestSuite testSuite = new TestSuite("JUnit4TestFactory");
testSuite.addTest(unit4TestAdapter);
return testSuite;
}
}
Run Code Online (Sandbox Code Playgroud)