我正在使用JTest 9.5。我想询问是否有可能在每次单元测试之前执行相同的准备程序,就像我在JUnit中使用@Before
和@After
注释一样?如果是,那怎么样?假设我在JTest中有以下单元测试类:
public class TestArrayFileManager extends PackageTestCase {
FileManager fileMngr;
public TestArrayFileManager(String name)
{
super(name);
}
public Class getTestedClass()
{
return FileManager.class;
}
public void testFileManager1() throws Throwable
{
final String fileName = "InputFile.txt";
fileMngr = new FileManager(fileName);
fileMngr.doResetFile();
fileMngr.doReplaceNthElement(0, 3);
fileMngr.doReplaceNthElement(1, 9);
assertEquals(3, fileMngr.doReadNthElement(0L));
}
public void testFileManager2() throws Throwable
{
final String fileName = "InputFile.txt";
fileMngr = new FileManager(fileName);
fileMngr.doResetFile();
fileMngr.doReplaceNthElement(0, 3);
fileMngr.doReplaceNthElement(1, 9);
assertEquals(9, fileMngr.doReadNthElement(1L));
}
}
请注意我如何重复相同的准备代码。如何在每次测试前执行?
答案 0 :(得分:0)
JTest complements and extends JUnit这意味着它不能提供JUnit的功能。你将不得不使用JTit和Junit来实现你想要的目标。
您可use existing JUnit test cases with JTest使用@Before
和@After
注释提供setUp和tearDown方法。
如果要将JUnit Test Class与Jtest一起使用,则需要:
执行这些步骤后,Jtest将以正常方式运行测试时使用JUnit Test Class。
答案 1 :(得分:0)
我只是想要添加的方法,以便在每个单元测试之前实现准备和结束任务。这些是我在生成的单元测试文件中找到的方法,它们正在运行:
public void setUp() throws Exception {
super.setUp();
/*
* Add any necessary initialization code here (e.g., open a socket).
* Call Repository.putTemporary() to provide initialized instances of
* objects to be used when testing.
*/
// jtest.Repository.putTemporary("name", object);
}
/**
* Used to clean up after the test. This method is called by JUnit after
* each of the tests have been completed.
*
* @see junit.framework.TestCase#tearDown()
* @author Parasoft Jtest 9.5
*/
public void tearDown() throws Exception {
try {
/*
* Add any necessary cleanup code here (e.g., close a socket).
*/
} finally {
super.tearDown();
}
}