本來想馬上配好myeclipse+jboss+mysql的,但不知道是什么原因老是說配置錯(cuò)誤。網(wǎng)上也找到了類似的錯(cuò)誤,但也沒有很好的解答。
逼的我沒辦法,只好重裝jdk,終于行了,但要睡覺咯……因?yàn)楹竺孢€有考試。
要做軟工作業(yè)了,把以前的東西要翻出來了。
本來想馬上配好myeclipse+jboss+mysql的,但不知道是什么原因老是說配置錯(cuò)誤。網(wǎng)上也找到了類似的錯(cuò)誤,但也沒有很好的解答。 逼的我沒辦法,只好重裝jdk,終于行了,但要睡覺咯……因?yàn)楹竺孢€有考試。
import junit.framework.*;
public class TestSimple extends TestCase{ ?? public TestSimple(String name){ ????????? super(name); ???? } ?? public void testAdd(){ ??????????? assertEquals(2,1+1); ???? } } 這是最簡單的JUnit框架,你可以在一個(gè)測試方法里面加多個(gè)斷言,但只要一個(gè)斷言出問題了,下面的斷言就不執(zhí)行咯。 但是調(diào)用其它測試類甚至一個(gè)測試系統(tǒng)該怎么辦呢? 其實(shí)每個(gè)測試類都包含了一個(gè) public static Test suite()方法,如果你沒顯式地實(shí)現(xiàn)它,系統(tǒng)會(huì)自動(dòng)運(yùn)行以test開頭的方法 import junit.framework.*; public class TestSimple extends TestCase{ ?? public TestSimple(String method){ ????????? super(method); ???? } ?? public void testA(){ ????????????…… ???? } ?? public void testB(){ ????????????…… ???? } ?? public void testC(){ ????????????…… ???? } ?? //如果你只想運(yùn)行A和B 那么要這樣寫 ?? public static Test suite(){ ??????? TestSuite suite = new TestSuite(); ??????? suite.addTest(new TestSimple("testA")); ??????? suite.addTest(new TestSimple("testB")); ????????return suilte; ??? } } 甚至有更高層的調(diào)用 suite.addTestSuite(TestClassOne.class); suite.addTestSuite(TestClassTwo.suite()); 仔細(xì)觀察這兩句的調(diào)用方法和參數(shù)哦,應(yīng)該不用多說什么了吧……
這個(gè)博客有點(diǎn)像讀書筆記了,這樣也挺好的,看一遍書,再總結(jié)一下重要的內(nèi)容。
大家多多捧場啊
??????? 在上一篇中已經(jīng)看到了assertEquals斷言,還有其它斷言嗎?它們的原型又是怎樣的呢?
??????? 首先是assertEquals ??????? 它的函數(shù)原型是assertEquals([String message],expected,actual)其中String message 是可選的。這樣就比較清楚啦,expected 是期望的值,而actual是事實(shí)上運(yùn)行后得到的值。如果這兩個(gè)值吻合,那么這個(gè)測試就通過了,Eclipse里面會(huì)出現(xiàn)一個(gè)綠色的長條,看到它是心曠神怡啊。否則,長條就是紅色的,就要去改程序啦。 ???????? 接下來介紹其它幾個(gè)斷言。 ???????? assertNull([String message],java.lang.Object object?)?這是判斷對象是否為空 ???????? 相對的 ???????? 還有一個(gè): ???????? assertNotNull([String message],java.lang.Object object)這是判斷對象是否不為空 ???????? assertSame([String message],expected,actual)判斷expected 和actual引用的是否為同一個(gè)對象 ???????? assertTrue([String message],boolean condition)判斷條件是否為true ???????? 當(dāng)然還有assertFalse啦 ????????? 另一個(gè)比較另類的函數(shù)是fail([String message])其中String message 是可選的。 ????????? 這個(gè)斷言會(huì)讓測試立即失敗,主要用在某個(gè)不應(yīng)該被到達(dá)的分支,比如在一個(gè)預(yù)期發(fā)生的異常之后。 ???? 閑逛東大浦口圖書館,看到《單元測試之道——java版》,早已聞此書之大名,借來一閱。 import junit.framework.TestCase; public class TestLargest extends TestCase { ? |