仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1347|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网站制作之Eclipse进修4-在Eclipse中利用JUnit进...

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:52:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)利用JUnit测试一个使用程序
如今已筹办好测试JN_test使用程序。为了测试,还必要利用JUnitWizard创立一个新的class来扩大JUnit测试用例。要利用此wizard,请在PackageExplorer中的JN_test上单击右键,而且选择New->Other来翻开一个New对话框,如图所示:



如今睁开Java结点并选择JUnit,然后再选择JUnitTestCase,单击Next按钮,如图:







一般情形下JUnit类定名要和被它测试的类同名,并在厥后面增加Test。以是定名为JN_testTest。别的选择setUp和tearDown办法,这些办法创建和清算在测试用例中的数据和(大概)对象(它们在JUnit中的术语为fixtures)。依照上图填好后,点击Next。如图:









在此对话框中,选择你想要测试的办法,如许JUnitWizard可以为它们创立存根(stub)。由于我们想要测试allocate,see和get,选择它们,并点击Finish按钮来创立JN_testTestclass。以下所示:在JN_testTestclass中为allocate,set和get办法都创立了一个办法存根:testAllocate,testSet,和testGet。

packagenet.csdn.blog;







































importjunit.framework.TestCase;















































































publicclassJN_testTestextendsTestCase{







































/*







































*@seeTestCase#setUp()







































*/







































protectedvoidsetUp()throwsException{







































super.setUp();







































}







































/*







































*@seeTestCase#tearDown()







































*/







































protectedvoidtearDown()throwsException{







































super.tearDown();







































}







































publicvoidtestAllocate(){







































}







































publicvoidtestGet(){







































}







































publicvoidtestSet(){







































}







































}







































下一步就是在这些存根中增加代码,以让它们来挪用JN_test类中的allocate,set和get办法,如许就可以对了局利用JUnit断言办法。我们将必要一个JN_test类的一个对象来挪用这些办法,将其定名为testObject。要创立testObject利用JUnit代码中的setUp办法。此办法在JUnit测试入手下手之前就被挪用,如许我们将从将要测试的JN_test类中创立testObject。

JN_testtestObject;







































.

.

.

protectedvoidsetUp()throwsException{

super.setUp();

testObject=newJN_test();







































}

如今就能够用这个对象来举行测试了。好比,allocate办法是用来创立一个整型数组并前往此数组的,以是在testAllocate中利用assertNotNull测试并确信此数组不为空:

publicvoidtestAllocate(){

assertNotNull(testObject.allocate());







































}

Thegetmethodissupposedtoretrieveavaluefromthearray,sowecantestthatmethodusingassertEqualswithatestvalueintestGet:

get办法从数组中获得数值,在testGet顶用assertEquals来测试此办法。

publicvoidtestGet(){

assertEquals(testObject.get(1),1);







































}

Andthesetmethodissupposedtoreturntrueifitsbeensuccessful,sowecantestitwithassertTruelikethis

set办法在乐成的时分前往true,利用assertTrue来测试它。

publicvoidtestSet(){

assertTrue(testObject.set(2,4));







































}

在增加代码后,选择PackageExplorer中的JN_testTest,并选择RunAs->JUnitTest菜单项,如图所示:



下面的图示申明这里有毛病,在JUnit视图中,三个测试都被打上了叉,暗示测试失利,我们先反省第一个测试,testAllocate,它测试的是被创立的数组不克不及为null:

publicvoidtestAllocate(){





assertNotNull(testObject.allocate());





}

看看第一个trace:哦,这个中央漏掉了创立数组,我们修改代码:

publicint[]allocate()

{

array=newint[3];







































array[0]=0;

array[1]=1;

array[2]=2;

returnarray;

}

如今再运转JN_testTest,如今只要testGet和testSet两处毛病,如图:



testGet和testSet出了甚么成绩?这里的成绩是一切的JUnit测试都是独自运转的。也就是说只管第一个测试testAllocate挪用了allocate办法,可是它并没有被接上去的两个测试testGet和testSet挪用。以是为了给这两个测试初始化其数组,必需在testGet和testSet中都挪用allocate办法。增加以下代码:









































publicvoidtestGet(){

testObject.allocate();







































assertEquals(testObject.get(1),1);

}









































publicvoidtestSet(){

testObject.allocate();







































assertTrue(testObject.set(2,4));

}

如今运转测试,全体都经由过程。JUnit视图中顶部的菜单栏为绿色,如图所示:



如上所示,JUnit供应了相称复杂的体例来创立一组尺度的测试,我们只必要动几下鼠标就能够完成。只需测试被创立,你只必要运转你创立的JUnit类。

但是,必要注重的是JUnit只是用一组测试来查验兼容性,假如你的代码中存在成绩,大概你不晓得怎样办,这时候你必要举行debug。(全文完)





windows系统样,他们做了什么事或者留了一些后门程序,谁都不知道,二,java开发是跨平台,任何系统上都可以运行,对于保密型系统和大型系统开发这是必要的
小女巫 该用户已被删除
沙发
发表于 2015-1-21 16:28:55 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
飘灵儿 该用户已被删除
板凳
发表于 2015-1-24 14:44:55 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
金色的骷髅 该用户已被删除
地板
发表于 2015-2-1 17:01:52 | 只看该作者
是一种突破用户端机器环境和CPU
若相依 该用户已被删除
5#
发表于 2015-2-5 01:40:00 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
再现理想 该用户已被删除
6#
发表于 2015-2-11 00:43:57 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
深爱那片海 该用户已被删除
7#
发表于 2015-2-11 04:58:27 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
只想知道 该用户已被删除
8#
发表于 2015-3-1 21:29:12 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-6 15:52:17 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
兰色精灵 该用户已被删除
10#
发表于 2015-3-11 11:27:15 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
透明 该用户已被删除
11#
发表于 2015-3-15 22:27:16 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
蒙在股里 该用户已被删除
12#
发表于 2015-3-25 14:07:13 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
第二个灵魂 该用户已被删除
13#
发表于 2015-4-1 09:26:13 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
乐观 该用户已被删除
14#
发表于 2015-4-3 05:11:21 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
admin 该用户已被删除
15#
发表于 2015-4-21 04:45:25 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
灵魂腐蚀 该用户已被删除
16#
发表于 2015-4-22 00:47:32 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
逍遥一派 该用户已被删除
17#
 楼主| 发表于 2015-4-26 10:10:48 | 只看该作者
是一种突破用户端机器环境和CPU
愤怒的大鸟 该用户已被删除
18#
发表于 2015-5-1 18:11:51 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
小魔女 该用户已被删除
19#
发表于 2015-5-4 07:58:08 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
活着的死人 该用户已被删除
20#
发表于 2015-5-5 00:25:20 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 00:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表