19:反射はJunit 3.8フレームワークでの実用化

2023 ワード

一.
インタフェースは引き継ぐことができますか?--------------------------------------------------はい、いいです.
二.
抽象クラスのメソッドはすべて具体的なメソッドでよいでしょうか?---------はい、いいです.
三.
抽象クラスはインスタンス化できますか?------------------------いけません
四.
Junitはユニットテストフレームワークです
Junitで作成されたクラスはテストクラスと呼ばれています.私たちのソースコードが正しいか、間違っているかをテストします.
五.
Junitはどのように反射を利用してコードをテストしますか?
六.
Junit4.xはjavaの注記Annotationに基づく
import junit.framework.Assert;

import org.junit.Test;

/**
 * Junit4 
 * */
public class CalcTest {
	private int x = 1;

	private int y = 1;

	@Test
	public void additionTest() {
		int z = x + y;
		Assert.assertEquals(2, z);
	}

}

七.
Arrays.equals();
八.
keep the bar green to keep the code clean
Junit3.8試験方法は以下の規則を満たすことを要求する:1.方法はpublicの2.メソッドは値(void)3を返さない必要があります.メソッド名はtestで始まる4.メソッドにはパラメータがない必要があります
ユニットテストは、あなたが正しいことを証明するのではなく、あなたが間違っていないことを証明します.
public class Calculator {

	public int add(int a, int b) {
		return a + b;
	}

	public int minus(int a, int b) {
		return a - b;
	}
	
	/**
	 *  char[] 
	 * */
	public char max(char[] c,int num){
		// 
		int number=num;
		// 
		char max=c[number];
		// ( )
		if(number<c.length-1){
			if(max>c[number+1]){
			    c[number+1]=max;
			}else{
				max=c[number+1];
			}
			return max(c,++number);
		}else{
			return max;
		}
		
	}
}
import junit.framework.Assert;
import junit.framework.TestCase;

public class CalculatorTest extends TestCase {
	public void testAdd() {
		Calculator c = new Calculator();
		int result = c.add(1, 2);

		Assert.assertEquals(3, result);
	}

	public void testMinus() {
		Calculator c = new Calculator();
		int result = c.minus(4, 2);

		Assert.assertEquals(2, result);
	}

	public void testMax(){
		char[] cArr={'2','a','6','e','?','3','f'};
		Calculator c=new Calculator();
		char result=c.max(cArr, 0);
		Assert.assertEquals('f', result);
	}
}