0

我有测试 REST API 的 JMeter 脚本。

它配置有Junit Request

在此处输入图像描述

在测试期间,我发布了很多项目。我想在测试执行后清理数据库。我把适当的逻辑放在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;
}

另外,请注意使用了吞吐量整形计时器。并且参数是通过-Jload-profiles="..."

如何从控制台使 tearDown() 可执行?

4

1 回答 1

1

我认为你犯了一些错误:

  • 你想调用一个用@AfterClass 注释的方法,但是你没有一个用@Test 注释的方法。所以 JMeter 甚至不会发现你的方法。

  • JMeter 将在执行带有 @Test 注释的方法时自动调用 setup (@BeforeClass) 和 tearDown(@AfterClass) 方法,除非您取消选中它们

因此,如果您想对整个测试进行清理,只需将您的代码放入使用 Groovy 代码的常规 JSR223 采样器中,不需要 JUnit 请求。

看:

于 2017-09-01T20:34:31.457 回答