助教 關於單元測試(二)

2022-09-14 11:18:06 字數 2040 閱讀 7343

故事還在繼續......

小張童鞋寫的程式一直未報bug,這激發了他繼續程式設計的興趣,於是乎,他又寫了個除法程式,說到除法,就不得不考慮的一種情況:

除數為零怎麼辦?

答:丟擲異常。

所以,小張童鞋要解決兩個問題:

為了解決第乙個問題:

小張先寫了乙個最簡單的版本:

package com.hui.demo;

public class core

}

想知道想知道報什麼異常,呼叫一下就知道了,於是他寫了乙個main方法來呼叫他的除法程式,而且刻意讓除數為零,觀察eclipse下報了什麼錯。

import com.hui.demo.core;

public class t

}

執行一下發現控制台報錯:

exception in thread "main" j**a.lang.arithmeticexception: / by zero

at com.hui.demo.core.divide(core.j**a:5)

at t.main(t.j**a:6)

所以第乙個問題的答案是:j**a.lang.arithmeticexception

中對這個異常的英文描述,相信你都可以看得懂:

**thrown when an exceptional arithmetic condition has occurred. for example, an integer "divide by zero" throws an instance of this class. **

所以,小張自熱而然的把自己的程式處理成這樣:

package com.hui.demo;

public class core

return a/b;

}}

我們來解決第二個問題:

說到單元測試的情況,我們依然可以借用之前說的那句話:

// 我想測 一測:

//引數傳入

// 我的待測方法裡面,

// 得出的結果會不會是:我期待的結果

// 我想測 一測:

//0作為除數傳入

// 我的除法方法裡面,

// 得出的結果會不會是:丟擲 j**a.lang.arithmeticexception異常

package com.hui.demo.test;

import static org.junit.assert.assertequals;

import org.junit.test;

import com.hui.demo.core;

public class coretest

@test(expected=arithmeticexception.class)

public void testdividezero()

}

這裡重點看這句:

(expected=arithmeticexception.class)
的意思就是說:當我除數為0時候,我期待程式結果是:

丟擲 arithmeticexception異常

執行這個測試方法,顯示綠色條,這種情況測試通過。

小張開開心心的把寫好的的除法程式給小李用,沒想到,"噩夢"才剛剛開始......

關於單元測試的學習記錄

在開發過程中,單元測試必不可少,針對本人開發經驗 主要是整合spring mybatis等開發框架 歸納以下倆種單元測試,當作學習筆記和作為簡單總結,後期如有接觸新的方式,再進行修改。1 基於spring的單元測試 註解方式 runwith springjunit4classrunner.class...

關於單元測試提出的思考

對於開發者來說,軟體測試,特別是單元測試,也是在開發過程中的重要組成部分。對於負責的系統 功能模組來說,做好單元測試,對保證產品質量有非常重要的作用。此外,做好單元測試,還能提高開發者開發思維的嚴謹性 啟發功能模組解耦 測試驅動開發 以下提出單元測試常見的問題和提供使用的解決方案。待完善 有的時候做...

關於單元測試的一些思考

邏輯直接了當 盡量少的依賴 乾淨利落的抽象以及直截了當的控制語句 沒有改進的餘地 以上內容都提取自 整潔之道 總結下來就是 簡單,簡潔,簡短.那麼提高程式正確性最有效的方法是什麼呢?在我看來,最有效的方法莫過於對 反覆琢磨推敲,讓它變得簡單,直觀,直到你一眼就可以看得出它不可能有問題。談程式的正確性...