JUnit 4テスト例

2143 ワード


 
JUnit 4テストの有効性.この計算機を開いて閉じることができ、これらの結果をクリアすることができます.次は実際の現代コードです.
public class Calculator {
  private static int result; //  
  public void add(int n) { 
   result = result + n; 
  } 
  public void substract(int n) { 
   result = result - 1; // :  "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 (; ;) ; // :  
  } 
  public void clear() { //  
   result = 0; 
  } 
  public void switchOn() { // ,  "hello", 
   result = 0; //  
  } 
  public void switchOff() { } //  "bye bye", , 
  public int getResult() { 
   return result; 
  } 
}

 
JUnit 4テストクラス
 
import calc.Calculator;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
  private static Calculator calculator = new Calculator(); 
  @Before public void clearCalculator() { 
   calculator.clear(); 
  } 
  @Test public void add() { 
   calculator.add(1); 
   calculator.add(1); 
   assertEquals(calculator.getResult(), 2); 
  } 
  @Test public void subtract() { 
   calculator.add(10); 
   calculator.subtract(2); 
   assertEquals(calculator.getResult(), 8); 
  } 
  @Test public void divide() { 
   calculator.add(8); 
   calculator.divide(2); 
   assert calculator.getResult() == 5; 
  } 
  @Test(expected = ArithmeticException.class) 
  public void divideByZero() { 
   calculator.divide(0); 
  } 
  @Ignore( "not ready yet")
  @Test 
  public void multiply() { 
   calculator.add(10); 
   calculator.multiply(10); 
   assertEquals(calculator.getResult(), 100); 
  } 
}