<b>BeanShell在人工测试与管理之中的操纵</b>[Java编程]
本文“<b>BeanShell在人工测试与管理之中的操纵</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
JUnit 单元测试学深化人心的同时,也发现它对用户交互测试无能为力:
TestCase 答应测试人员作动态的改正
可以在Test Case 中实现一个测试参数输入功效(UI 或参数配置文件)来办理这个问题,但实现这些功效的代价与反复工作量会很大.
TestCase 可以便利地反复利用、组合、保存
不是全部全部测试环境下,都答应翻开一个重量级的 Java IDE 编写有严峻标准的 Java 代码.这就是脚本语言受欢送的缘由.
BeanShell 可以较好办理以上问题.
1.BeanShell基本:
bsh.Interpreter 是beanShell 的主要接口.
以下可以实现一个简单的Java Shell:
public class TestInt {
public static void main(String[] args) {
bsh.Interpreter.main(args);
}
}
后果:
BeanShell 2.0b4 - by Pat Niemeyer (pat@pat.net)
bsh % System.out.println("Hello BeanShell");
Hello BeanShell
bsh %
你也可以用以下代码实现一样的功效,代码中可以对比明显地看出其构造:
public static void main(String[] args) {
Reader in = new InputStreamReader( System.in );
PrintStream out = System.out;
PrintStream err = System.err;
boolean interactive = true;;
bsh.Interpreter i = new Interpreter( in, out, err, interactive );
i.run();//线程在这里阻塞读System.in
}
1.1.BeanShell上下文(Context/Namespace):
public static void main(String[] args) throws Throwable {
Reader in = new InputStreamReader( System.in );
PrintStream out = System.out;
PrintStream err = System.err;
boolean interactive = true;;
bsh.Interpreter i = new Interpreter( in, out, err, interactive );
Collection theObjectReadyForShellUser = new ArrayList();
theObjectReadyForShellUser.add("Str1");
i.set("myObject", theObjectReadyForShellUser);
i.run();
}
用户的UI:
BeanShell 2.0b4 - by Pat Niemeyer (pat@pat.net)
bsh % System.out.println( myObject.get(0) );
Str1
bsh %
Shell的上下文在测试中分外有效.想一下,假如将上面的“theObjectReadyForShellUser”换成一个预先为测试用户生成的RMI本地接口存根,由测试用户调用呼应的存根办法.这可利用于动态测试,也可以利用于系统的远程管理.
1.2.静态Java代码与动态Java代码的组合利用.
public static void main(String[] args) throws Throwable {
Reader in = new InputStreamReader( System.in );
PrintStream out = System.out;
PrintStream err = System.err;
boolean interactive = true;;
bsh.Interpreter i = new Interpreter( in, out, err, interactive );
//show a dialog for user to input command.
String command = JOptionPane.showInputDialog( "Input Command(s)" );
i.eval( command );//Run the command
}
以上是“<b>BeanShell在人工测试与管理之中的操纵</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |