JTest 9.5。如何在每个单元测试之前执行准备操作

时间:2013-11-20 07:48:26

标签: java unit-testing junit

我正在使用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)); 
    }
    }

请注意我如何重复相同的准备代码。如何在每次测试前执行?

2 个答案:

答案 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一起使用,则需要:

  • 在您的CLASSPATH上包含junit.jar文件。
  • 确保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();
    }
}