第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何編寫單元測試?

如何編寫單元測試?

回首憶惘然 2019-07-02 09:51:17
如何編寫單元測試?我有一個Java類。我怎么能單元測試它?在我的例子中,類做二進制和。需要兩個byte[]數(shù)組,對它們進行求和,并返回一個新的二進制數(shù)組。
查看完整描述

3 回答

?
米琪卡哇伊

TA貢獻1998條經(jīng)驗 獲得超6個贊

  1. 定義正常情況下的期望輸出和期望輸出,并提供正確的輸入。

  2. 現(xiàn)在,通過聲明一個類來實現(xiàn)測試,將它命名為任何東西(通常類似于TestAddingModule),并將testAdd方法添加到它中(例如,如下所示):

    • 編寫一個方法,并在上面添加@Test注釋。
    • 在該方法中,運行二進制和

      assertEquals(expectedVal,calculatedVal).

    • 通過運行它來測試您的方法(在Eclipse中,右擊,選擇RunasJUnit測試)。

      //for normal addition @Testpublic void testAdd1Plus1() {
          int x  = 1 ; int y = 1;
          assertEquals(2, myClass.add(x,y));}
  3. 按需要添加其他案例。

    • 測試如果存在整數(shù)溢出,二進制和不會引發(fā)意外異常。
    • 測試您的方法如何優(yōu)雅地處理Null輸入(例如下面的例子)。

      //if you are using 0 as default for null, make sure your class works in that case.@Testpublic void testAdd1Plus1() {
          int y = 1;
          assertEquals(0, myClass.add(null,y));}


查看完整回答
反對 回復(fù) 2019-07-02
?
萬千封印

TA貢獻1891條經(jīng)驗 獲得超3個贊

這是一個非常普遍的問題,有很多方法可以回答。

如果要使用JUnit創(chuàng)建測試,則需要創(chuàng)建Testcase類,然后創(chuàng)建單獨的測試方法,在測試下測試類/模塊的特定功能(單個Testcase類通常與正在測試的單個“Production”類相關(guān)聯(lián)),并在這些方法中執(zhí)行各種操作,并將結(jié)果與正確的結(jié)果進行比較。尤其重要的是要盡可能多地覆蓋角落的案件。

例如,在您的特定示例中,可以測試以下內(nèi)容:

  1. 兩個正數(shù)之間的簡單加法。添加它們,然后驗證結(jié)果是否符合您的預(yù)期。
  2. 正數(shù)和負數(shù)之間的加法(返回帶有第一個參數(shù)符號的結(jié)果)。
  3. 正數(shù)和負數(shù)之間的加法(用第二個參數(shù)的符號返回結(jié)果)。
  4. 兩個負數(shù)之間的加法。
  5. 導(dǎo)致溢出的加法。

要驗證結(jié)果,您可以使用org.jun it.Assert類中的各種assertXXX方法(為了方便起見,您可以執(zhí)行‘導(dǎo)入靜態(tài)org.jun it.Assert.*’)。這些方法測試特定的條件,如果測試沒有驗證(可選地使用特定消息),則測試失敗。

在您的案例中,示例testcase類(沒有定義方法內(nèi)容):

import static org.junit.Assert.*;public class AdditionTests {
    @Test
    public void testSimpleAddition() { ... }


    @Test
    public void testPositiveNegativeAddition() { ... }


    @Test
    public void testNegativePositiveAddition() { ... }


    @Test
    public void testNegativeAddition() { ... }


    @Test
    public void testOverflow() { ... }}

如果您不習(xí)慣編寫單元測試,而是通過編寫臨時測試來測試代碼,然后對其進行“可視化”驗證(例如,您編寫了一個簡單的main方法,該方法接受使用鍵盤輸入的參數(shù),然后輸出結(jié)果-然后繼續(xù)輸入值并驗證自己的結(jié)果是否正確),那么您可以從以上述格式編寫此類測試并使用正確的sertXXX方法驗證結(jié)果開始,而不是手動進行驗證。這樣,如果必須進行手動測試,則可以更容易地重新運行測試。


查看完整回答
反對 回復(fù) 2019-07-02
  • 3 回答
  • 0 關(guān)注
  • 391 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號