我有一些代码使用事务同步管理器..但我似乎无法得到它在嘲笑中工作..即时通讯模拟实体管理器和事务管理器..以便我的上下文保存实体和调用提交...在测试中,TransactionSynchronizationManager似乎没有被击中......Junit和Jmock来测试Springs TransactionSynchronizationManager
this.transactionTemplate.execute(new TransactionCallback<E>() {
@Override
public E doInTransaction(TransactionStatus status) {
// update entities
TransactionSynchronizationManager.registerSynchronization(new NotificationTransactionSynchronization(){
@Override
public void afterCommit() {
// do some post commit work
int i = notifier.notifyAllListeners();
}
});
}
});
我的测试类:
@Test
public void testHappyPath() {
context.checking(new Expectations() {
{
allowing(platformTransactionManager).getTransaction(definition);
will((returnValue(status)));
oneOf(platformTransactionManager).commit(status);
//next line never gets hit... so the test fails...
//if i remove it will pass but i need to check that it works...
oneOf(mockNotifier).notifyAllListeners();
}
});
this.TestClass.process();
context.assertIsSatisfied();
}
请清理后 – nav0611 2013-02-26 11:49:18
吧?..如何..更多信息...更好的格式?... – user1555190 2013-02-26 11:54:20
它现在由Don罗比格式化 – nav0611 2013-02-26 11:56:39