我有测试REST API的JMeter脚本。
配置了Junit Request:
在测试期间,我发布了很多项目。我想在测试执行后清理DB。我把适当的逻辑放到了tearDown()
。
但是,我发现从控制台执行并不会调用teaDown()
!
从UI启动工作正常。
以下是tearDown()
的实施:
@AfterClass
public static void tearDown() throws Exception {
LOG.info("tearDown() called");
deleteRecordingsFromDb();
SCHEDULED_EXECUTOR_SERVICE.shutdown();
if (client != null && !client.isClosed()) {
client.close();
}
minClient = null;
}
另外,请注意使用了Throughput Shaping Timer。参数与-Jload-profiles="..."
如何从控制台制作tearDown()可执行文件?
答案 0 :(得分:0)
我认为你犯了一些错误:
您想要调用一个使用@AfterClass注释的方法,但是您没有使用@Test注释的方法。所以JMeter甚至都不会发现你的方法。
除非取消选中,否则JMeter会在执行@Test注释的方法时自动调用setup(@BeforeClass)和tearDown(@AfterClass)方法
因此,如果您想对整个测试进行清理,只需使用Groovy代码将代码放在常规JSR223 Sampler中,不需要JUnit请求。
请参阅: