Ответ 1
Мы просто создаем пустую реализацию для диспетчера транзакций и гарантируем, что эта реализация используется в spring -контексте, используемом unit test
package sample;
import org.springframework.stereotype.Service;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionException;
import org.springframework.transaction.TransactionStatus;
public class MockedTransactionManager implements PlatformTransactionManager {
@Override
public TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException {
return null;
}
@Override
public void commit(TransactionStatus status) throws TransactionException {
}
@Override
public void rollback(TransactionStatus status) throws TransactionException {
}
}
.. и в файле spring -xml выглядит так:
<bean id="transactionManager" class="sample.MockedTransactionManager"/>