来看BeanShell在野生测试与办理当中的使用
在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工具的整合。 是一种突破用户端机器环境和CPU 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
页:
[1]
2