在JMeter JUnit Request中,我必须选择Test方法来定义组件:
测试方法:测试方法。必填:是
如何在课堂上执行所有方法?是不是每种方法定义少于X JUnit请求的方法?看起来有点过分,还有其他方式使用Java请求吗?
答案 0 :(得分:1)
这是设计理念,JUnit Request sampler的目的是测量单个方法的执行时间。
如果您正在寻找一种方法来执行给定类中的所有方法并测量它们的累积执行时间,则至少有两种方法:
使用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类的完全限定名称,以使其正常工作。