天天看點

個人項目 Individual Project

 github位址:   https://github.com/yranqiu/Individual-Project-1/blob/master/CalculatorTest

編寫一個Calculator類,這是一個能夠簡單實作加減乘除、平方、開方的電腦類,然後對這些功能進行單元測試。

package andycpp;

public class Calculator {

    private static int result; // 靜态變量,用于存儲運作結果

    public void add(int n) {

        result = result + n;

    }

    public void substract(int n) {

        result = result - 1;  //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 : 死循環

    public void clear() {     // 将結果清零

        result = 0;

    public int getResult() {

        return result;

}

将JUnit4單元測試包引入這個項目

個人項目 Individual Project

在彈出的屬性視窗中,首先在左邊選擇“Java Build Path”,然後到右上選擇“Libraries”标簽,之後在最右邊點選“Add Library…”按鈕,

個人項目 Individual Project

然後在新彈出的對話框中選擇JUnit4并點選确定,如上圖所示,JUnit4軟體包就被包含進這個項目了。

   生成JUnit測試架構:在Eclipse的Package Explorer中用右鍵點選該類彈出菜單,選擇“New à JUnit Test Case”。如下圖所示:

個人項目 Individual Project

在彈出的對話框中,進行相應的選擇

個人項目 Individual Project

    點選“下一步”後,系統會自動列出你這個類中包含的方法,選擇你要進行測試的方法。此例中,我們僅對“加、減、乘、除”四個方法進行測試。

個人項目 Individual Project

完整的CalculatorTest代碼如下:

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());

    public void testSubstract() {

        calculator.add(10);

        calculator.substract(2);

        assertEquals(8, calculator.getResult());

    @Ignore("Multiply() Not yet implemented")

    public void testMultiply() {

    public void testDivide() {

        calculator.add(8);

        calculator.divide(2);

        assertEquals(4, calculator.getResult());

運作結果如下:

個人項目 Individual Project

 總結:通過這個實驗,了解一些軟體測試的基本含義,學會了一些基本測試的步驟的設計和用例的構造。初步學會了junit4的使用,了解到基本流程和實作。