TPTP JUnit テストへのテスト・メソッドのマッピング

Java クラスにより、TPTP JUnit テストは自動的に「test」で始まる名前のメソッドを識別し、それらをテスト・メソッドにマップします。例として、クラス SimpleTest のソースを以下に示します。

 

package junit.samples;
import junit.framework.*;
/**
* Some simple tests.
*
*/
public class SimpleTest extends TestCase 
{
	protected int fValue1;
	protected int fValue2;

	protected void setUp() 
	{
	fValue1= 2;
	fValue2= 3;
	}

	public static Test suite() 
	{
	/*
	* the type safe way
	*
	TestSuite suite= new TestSuite();
	suite.addTest(new SimpleTest("add") 
	{
	protected void runTest() { testAdd(); }
	});

	suite.addTest(new SimpleTest("testDivideByZero") 
	{
	protected void runTest() { testDivideByZero(); }
	});

	return suite;
	*/
	
	/*
	* the dynamic way
	*/

	return new TestSuite(SimpleTest.class);
}


	public void testAdd() 
	{
		double result= fValue1 + fValue2;
		// forced failure result == 5
		assertTrue(result == 6);
	}

	public void testDivideByZero() 
	{
		int zero= 0;
		int result= 8/zero;
	}

	public void testEquals() 
	{
		assertEquals(12, 12);
		assertEquals(12L, 12L);
		assertEquals(new Long(12), new Long(12));
		assertEquals("Size", 12, 13);
		assertEquals("Capacity", 12.0, 11.99, 0.0);
	}


	public static void main (String[] args) 
	{
		junit.textui.TestRunner.run(suite());
	}
}

 

 

名前が「test」で始まる 3 つのメソッド「testAdd」、「testDivideByZero」、「testEquals」があります。これらのメソッドは、「概要」タブの「テスト・メソッド」ペインにリストされます。

 

 

テスト・エディターを使用してテスト・メソッドを追加した場合は、新規のメソッドがコードに追加されることに注意してください。

また、TPTP で JUnit クラスを実行可能にする要件は、そのクラスに静的な「Test suite()」メソッド (標準の JUnit の手法) があることです。「振る舞い」チェック・ボックスのチェックが外れている場合、この suite() メソッドおよびその内容は自動的に生成されます (ユーザーがテスト・エディターを使用してテストを保管するときに更新されます)。このチェック・ボックスにチェック・マークが付いている場合は、ユーザーがこの suite() メソッドをインプリメントする必要があります。

テストでのメソッドの編集について詳しくは、『JUnit テスト・エディター』のトピックを参照してください。

関連概念
JUnit テスト・エディター