Я тоже искал решение этой проблемы. И есть один! Но, как видно из чьего-то блога, я не могу поверить в это. : -)
К сожалению, я больше не могу найти оригинальный блог ...
@RunWith(Parameterized.class)
@ContextConfiguration("/beans.xml")
public class MyTest {
private final File file;
public MyTest(final File file) {
this.file = file;
}
@Autowired
private PlatformTransactionManager transactionManager;
private TestContextManager testContextManager;
@Parameterized.Parameters
public static Collection<File[]> getFilesToTest() throws Exception {
return getValidFiles();
}
@Before
public void setUpSpringContext() throws Exception {
testContextManager = new TestContextManager(getClass());
testContextManager.prepareTestInstance(this); // does the autowiring !
}
@Test
public void testInTransactionContext() throws Exception {
new TransactionTemplate(transactionManager).execute(new TransactionCallback() {
public Object doInTransaction(final TransactionStatus status) {
status.setRollbackOnly();
try {
... run the test ...
} catch (Exception e) {
throw new RuntimeException(e);
}
return null;
}
});
}
}