2013-10-04 40 views
0

我有這個類化妝春天的測試方法不是事務

@TransactionConfiguration(defaultRollback = false) 
public class CandidateServiceTest extends AbstractServiceTest { 
     @Test 
    public void add() { 
     } 
} 


@ContextConfiguration(locations = { "classpath:/test/BeanConfig.xml" }) 
public class AbstractServiceTest extends AbstractTransactionalJUnit4SpringContextTests{ 
... 
} 

有存在的方式,方法add()是不能交易的?

回答

0

您可以用註釋標註org.springframework.test.annotation.Rollback的測試方法與true或false ARG

+0

如果我調用方法內的兩個交易方法添加我想使用兩個交易 – gstackoverflow

+0

你變種的作品是這樣嗎? – gstackoverflow

+0

Видимопорусскибудетпонятнее。 Ятакпонял,этааннотацияуправляетоткатыватьтранзакциюпослевыполненияметодаилинет。 Амойвопросотомкаксделатьтак,чтобынатестнеоткрываласьноваятранзакция。 – gstackoverflow

1

可以使用@NotTransactional註解。

@TransactionConfiguration(defaultRollback = false) 
public class CandidateServiceTest extends AbstractServiceTest { 

    @Test 
    @NotTransactional 
    public void add() { 
     ... 
    } 
} 

編輯

由於@NotTransactional已被棄用,Spring文檔建議您拆分在不同的班級事務和非事務性測試。

+0

謝謝,但在javaDoc寫道它是不贊成註釋,我必須使用BeforeTransaction或AfterTransaction。但我不明白我如何使用它。 – gstackoverflow