JUnit测试类未显示在JMeter中

Jim*_*den 6 junit spring jmeter

我正在尝试使用JMeter 2.7运行JUnit测试.但是,在JUnit采样器的下拉列表中选择测试类时,它们不会显示.正如我发现的那样,这是因为测试类是从另一个类(AbstractJUnit4SpringContextTests是基类,其间有各种抽象类,为所有测试提供便利方法)扩展的.可以选择未从这些基类扩展的测试类.

包含测试类的JAR文件由Maven(test-jar)创建,包含所有依赖项的JAR由maven fatjar插件创建.两个jar都放在JMeter/lib/junit目录中.

我知道JMeter手册说所有测试类都必须从JUnit测试类扩展,但对JUnit3来说似乎也是如此.使用JUnit4,JMeter不需要该要求.当然,我可以重写所有测试,以便它们不必从基类扩展,但这会导致巨大的维护问题.那么,如何使用从基类扩展的JMeter执行JUnit测试?

UDPATE 2012-08-09

由于PMD的提示,我现在将依赖项逐个复制到JMeter的lib文件夹,现在GUI显示了我所有的单元测试.在此之前,我必须自己解决几个问题:

  • 将logkit-1.0.1.jar复制到该文件夹​​会阻止JMeter GUI启动.不知道为什么,没有给出错误或日志消息.JVM刚刚启动并终止.
  • 由maven依赖引起的一些版本冲突引入了旧版本的spring测试包.这导致一些测试类从具有相同名称的旧基类扩展.排除pom文件中的那些依赖项有所帮助.

我现在可以执行我的JUnit测试用例了.但是,我的类中的几个引用都带有注释@Resource.JMeter的Testrunner似乎没有注入这些引用,因为每次访问引用时,NullPointerException都会抛出a,如JMeter日志中所示.那么,我如何让JMeter注入这些依赖项,是否可能?

UBI*_*ACK 4

您必须像以前一样将 junit 类放入 lib/junit 文件夹中,并将依赖项放入 lib 文件夹中。

\n\n

您不应该使用 fatjar,因为有时这些工具会从 meta-inf 中删除文件,或者只保留所有 jar 中的一个文件, spring p\xc3\xbbts 每个 jar 中都有一个。

\n\n

将所有 jar 一一添加到 lib 文件夹中。

\n\n

检查jmeter日志,看看是否有异常。

\n\n

如果仍然失败,请在 jmeter 用户列表上询问问题,如果没有得到任何答案,请创建一个简单的测试用例并打开一个错误。

\n