2015-05-14 47 views
2

我使用junit4和spring来测试我的其他Web服务。 为此,我在内存数据库中使用HSQL。用http调用每个junit测试用例后的数据库清理

要清除每个测试用例后的记录,我将删除表中的所有记录。

但我想只删除插入的记录。 我在两处添加数据到数据库:

  1. 在Junit测试用例中。

  2. 其余服务。

我正在HTTP调用测试服务。另外,我在休息服务中使用了相同的内存数据库。

请帮助我在每个测试用例后删除只插入的记录。

编辑:我关心的是删除http呼叫休息服务中插入的记录。记录这些记录真的很难。它们是我实际代码的一部分。

回答

1

您可以使用@Before@After方法来执行此活动。

注意@Before将在每次测试之前@After将在每次测试。所以@Before后,你应该插入的记录,现在你知道哪些记录已经被插入,只有他们@After

删除执行执行,如果要添加几个不同的记录对每个测试,然后使用尝试....终于

下面

class Test{ 
    @Before 
     public void setUp(){ 
      // insert x Records 
     } 


     @After 
     public void tearDown(){ 
      // delete x Records 
     } 


     @Test 
       public void someTest() throws Exception { 
       // ... insert few records 
       try{ 
       doSomething(); 
       }finally{ 
      // deleteRecordsInserted for this test. 
      } 

      } 

} 
+0

感谢您的回答等。我想到了这一点。我关心的是删除HTTP呼叫中的插入记录以休息服务。记录这些记录真的很难。它们是我实际代码的一部分。 –