Skip to content

变量

变量的作用

变量用于模板内容赋值、后置任务HTTP_TASK中负载内容赋值、条件EL表达式

变量的种类

变量现有三种类型:

  • 参数变量:目标方法的入参
  • 随机变量:模板配置添加的变量
  • 环境变量:连接目标应用指定目标应用

参数变量

参数变量是目标方法的入参,变量命名以p前缀开始,例如p0p1p2分别表示方法的第一个,第二个,第三个变量。

举例,考虑一下目标方法:

java
class TestResponse{
  String code;
  String message;
}
class TestRequest{
  String name;
}
public TestResponse sayHello(TestRequest request,String param2){
  //.... logic
}

此时变量有p0代表TestRequst类型的request变量,p1代表String类型的param2变量。

随机变量

通过模板配置可以指定一些随机变量用于一些随机结果的赋值,变量名以模板配置的变量名为准。

举例,配置变量名称为code,随机值有000000999999,表示code的取值50%概率取00000,50%概率取99999

环境变量

连接目标应用时,指定的环境变量,该变量一旦连接成功,环境变量无法修改,只能通过断开应用重新连接指定。

举例,考虑目标应用有如下变量:

java
package com.sdefaa.just.mock.test;
// ...
public class Test{
  // ...
  public final static ThreadLocal<Object> REQUEST_ID_THREAD_LOCAL = ThreadLocal.withInitial(() -> UUID.randomUUID().toString());
  // ...
  public TestResponse sayHello(TestRequest request,String param2){
  //.... logic
	}
}

连接目标应用指定:com.sdefaa.just.mock.test.Test.REQUEST_ID_THREAD_LOCAL.get()

此时存在环境变量,变量名以p前缀开始,对应目标方法参数个数的最后索引。例如,对于目标方法sayHello,p2代表该环境变量。