Привязка методов тестирования к тесту JUnit TPTP

Тест JUnit TPTP автоматически проверяет класс Java и находит методы, имена которых начинаются со слова '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" начинаются имена трех методов: testAdd, testDivideByZero и testEquals. Эти методы перечислены на панели Методы тестирования вкладки Обзор.

 

 

Обратите внимание на то, что при добавлении нового метода тестирования с помощью редактора тестов он добавляется в исходный код.

Кроме того, для применения класса JUnit в TPTP в нем должен быть определен статический метод "suite()" (это стандартное требование JUnit). Если переключатель алгоритма не выбран, то метод suite() и его содержимое создаются автоматически (и обновляются каждый раз при сохранении теста с помощью редактора тестов). В противном случае за реализацию метода suite() отвечает пользователь.

Информация об изменении методов приведена в разделе Редактор тестов JUnit.

Связанные концепции
Редактор тестов JUnit