0
以下是示例代码。如何缩小此脚本代码
package base;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Test {
int value1;
ScriptEngine engine;
public Test(){
this.engine = new ScriptEngineManager().getEngineByName("js");
this.engine.put("p",this);
}
public boolean execute(String script){
try {
if (script != ""){
this.engine.eval(script);
}
return true;
} catch (ScriptException e) {
e.printStackTrace();
return false;
}
}
public void setValue1(int v){
this.value1 = v;
}
public void setValue2(int v){
this.value2 = v;
}
}
而这是要执行的示例脚本。
p.setValue1(2);
p.setValue2(5);
如何减少脚本
setValue1(2);
setValue2(5);
编辑:我想运行JavaScript的那些方法中执行脚本(),使脚本更短。
你之前,你可以有你的类的实例调用它的非静态方法。这就是OOP的工作原理。测试框架将一个Test实例化为一个变量“p”,随后调用其上的setValue1()和setValue2()方法。我看不出你能如何减少脚本的数量。 – 2010-07-27 02:08:16
@Cory Larson:p.setValue1(2); ...是要执行的JavaScript脚本。对不起,如果我让你误解。 – Alcaros 2010-07-27 02:17:54
是的,我明白了。 JavaScript仍然有对象。你的'ScriptEngineManager'创建一个'Test'的实例,并将其赋值给'p':'this.engine.put(“p”,this);'。因此,您必须在测试脚本中指定类变量名称。 – 2010-07-27 02:37:05