|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。
JUnit单位测试学不得人心的同时,也发明它对用户交互测试力所不及:
TestCase同意测试职员作静态的修正
能够在TestCase中完成一个测试参数输出功效(UI或参数设置文件)来办理这个成绩,但完成这些功效的价值与反复事情量会很年夜。
TestCase能够便利地反复利用、组合、保留
不是一切一切测试情况下,都允许翻开一个分量级的JavaIDE编写有严厉标准的Java代码。这就是剧本言语受接待的缘故原由。
BeanShell能够较好办理以上成绩。
1.BeanShell基础:
bsh.Interpreter是beanShell的次要接口。
以下能够完成一个复杂的JavaShell:
publicclassTestInt{
publicstaticvoidmain(String[]args){
bsh.Interpreter.main(args);
}
}
了局:
BeanShell2.0b4-byPatNiemeyer(pat@pat.net)
bsh%System.out.println("HelloBeanShell");
HelloBeanShell
bsh%
你也能够用以下代码完成一样的功效,代码中能够对照分明地看出其布局:
publicstaticvoidmain(String[]args){
Readerin=newInputStreamReader(System.in);
PrintStreamout=System.out;
PrintStreamerr=System.err;
booleaninteractive=true;;
bsh.Interpreteri=newInterpreter(in,out,err,interactive);
i.run();//线程在这里堵塞读System.in
}
1.1.BeanShell高低文(Context/Namespace):
publicstaticvoidmain(String[]args)throwsThrowable{
Readerin=newInputStreamReader(System.in);
PrintStreamout=System.out;
PrintStreamerr=System.err;
booleaninteractive=true;;
bsh.Interpreteri=newInterpreter(in,out,err,interactive);
CollectiontheObjectReadyForShellUser=newArrayList();
theObjectReadyForShellUser.add("Str1");
i.set("myObject",theObjectReadyForShellUser);
i.run();
}
用户的UI:
BeanShell2.0b4-byPatNiemeyer(pat@pat.net)
bsh%System.out.println(myObject.get(0));
Str1
bsh%
Shell的高低文在测试中出格有效。想一下,假如将下面的“theObjectReadyForShellUser”换成一个事后为测试用户天生的RMI当地接口存根,由测试用户挪用响应的存根办法。这可使用于静态测试,也能够使用于体系的远程办理。
1.2.静态Java代码与静态Java代码的组合利用。
publicstaticvoidmain(String[]args)throwsThrowable{
Readerin=newInputStreamReader(System.in);
PrintStreamout=System.out;
PrintStreamerr=System.err;
booleaninteractive=true;;
bsh.Interpreteri=newInterpreter(in,out,err,interactive);
//showadialogforusertoinputcommand.
Stringcommand=JOptionPane.showInputDialog("InputCommand(s)");
i.eval(command);//Runthecommand
}
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,net网页编程Beans等等,但是我认为如果java想超越.net网页编程,那么他首先要解决的就是IDE工具的整合。 |
|