JMeter - JUnit请求执行所有方法

时间:2017-12-24 07:13:52

标签: junit jmeter

在JMeter JUnit Request中,我必须选择Test方法来定义组件:

  

测试方法:测试方法。必填:是

如何在课堂上执行所有方法?是不是每种方法定义少于X JUnit请求的方法?看起来有点过分,还有其他方式使用Java请求吗?

1 个答案:

答案 0 :(得分:1)

这是设计理念,JUnit Request sampler的目的是测量单个方法的执行时间。

如果您正在寻找一种方法来执行给定类中的所有方法并测量它们的累积执行时间,则至少有两种方法:

  1. 在测试中创建尽可能多的JUnit Request采样器,并将它们全部放在Transaction Controller
  2. 使用JSR223 Sampler并开发自定义代码来运行JUnit方法:

    • 使用JUnit Computer类,如:

      Exception
    • 使用Java Reflection Api之类的:

      import org.junit.runner.Computer
      import org.junit.runner.JUnitCore
      
      def computer = new Computer()
      
      def jUnitCore = new JUnitCore()
      jUnitCore.run(computer, Foo.class)
      

      在两个示例中,将import org.apache.commons.lang3.reflect.MethodUtils import org.junit.Test import java.lang.reflect.Method Class junitClass = Class.forName('Foo') Object t = junitClass.newInstance() List<Method> testMethods = MethodUtils.getMethodsListWithAnnotation(junitClass, Test, false, true) testMethods.each { method -> method.invoke(t, null) } 替换为JUnit类的完全限定名称,以使其正常工作。

相关问题