|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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开发是跨平台,任何系统上都可以运行,对于保密型系统和大型系统开发这是必要的 |
|