JUnit4小白入門
編寫一個需要測試的類
package martin;
public class Calculator {
private static int result; // 靜態變數,用於儲存執行結果
public void add(int n) {
result = result + n;
}
public void substract(int n) {
result = result - n; //Bug: 正確的應該是 result =result-n
}
public void multiply(int n) {
// 此方法尚未寫好
}
public void divide(int n) {
result = result / n;
}
public void square(int n) {
result = n * n;
}
public void squareRoot(int n) {
// for (; ;) ; //Bug : 死迴圈
result = (int)Math.sqrt(n);
}
public void clear() { // 將結果清零
result = 0;
}
public int getResult() {
return result;
}
}
編寫測試類
package martin;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
public class CalculatorTest {
private static Calculator calculator = new Calculator();
@Before
public void setUp() throws Exception {
calculator.clear();
}
@Test
public void testAdd() {
calculator.add(2);
calculator.add(3);
assertEquals(5, calculator.getResult());
}
@Test
public void testSubstract() {
calculator.add(10);
calculator.substract(2);
assertEquals(8, calculator.getResult());
}
@Ignore("Multiply() Not yet implemented")
@Test
public void testMultiply() {
}
@Test
public void testDivide() {
calculator.add(8);
calculator.divide(2);
assertEquals(4, calculator.getResult());
}
@Test(timeout = 1000)
public void squareRoot() {
calculator.squareRoot(4);
assertEquals(2, calculator.getResult());
}
@Test(expected = ArithmeticException.class)
public void divideByZero() {
calculator.divide(0);
}
}
相關文章
- 前端小白的入門前端
- 小白入門 - PHP簡介PHP
- Git基本用法,小白入門Git
- 第 8 場 小白入門賽
- 寫給小白的pySpark入門Spark
- Python小白必看!新手入門指南Python
- Python教程之小白入門篇Python
- Web 前端開發之小白入門Web前端
- 機器學習之小白入門機器學習
- Maven入門【小白千萬別點進】Maven
- 小白入門學習打日誌
- MySQL小白入門04 - 集合運算MySql
- Python入門_給小白的學習指南Python
- HTML之小白的入門Day1HTML
- Nginx中介軟體——從小白到入門Nginx
- 小白如何入門Mybatis?這裡有答案MyBatis
- Java技術分享:小白如何入門Mybatis?JavaMyBatis
- Electron小白入門自學筆記(一)筆記
- 人工智慧演算法小白入門- Jupyter notebook python 基礎入門人工智慧演算法Python
- 小白入門使用Nginx基礎的常用操作Nginx
- 小白入門微服務(1) - RPC 初體驗微服務RPC
- 小白nlp入門基礎(一)--nlp簡介
- 藍橋杯第9場小白入門賽
- SQL-小白最佳入門sql查詢一SQL
- 一個小白來分享程式設計入門程式設計
- Centos 7安裝和配置 ElasticSearch入門小白CentOSElasticsearch
- Lamp 小白菜鳥從入門到精通LAMP
- Python小白菜鳥從入門到精通Python
- 後端小白的VUE入門筆記, 前端高能慎入後端Vue筆記前端
- 小白變大神——Docker入門到精通完整實戰Docker
- 小白讀原始碼 | RxJava2 入門篇(一)原始碼RxJava
- 小白入門微服務(0) - 什麼是微服務微服務
- Java開發小白入門前的工具安裝Java
- Flutter小白教程系列(三) --- Dart語言快速入門FlutterDart
- 給零基礎小白的Python入門教程Python
- 4步帶你從Web前端小白到入門!Web前端
- Android 小白菜鳥從入門到精通教程Android
- Oracle小白菜鳥從入門到精通教程Oracle