すべてのJUnitテストメソッドの前に、いくつかのコードを実行する必要があります。このコードを実行するには、SpringTestクラスAbstractTestExecutionListenerとその子TransactionContextTestExecutionListenerを使用します。
これはコードです:
public class TransactionContextTestExecutionListener extends AbstractTestExecutionListener{
private static final Logger logger = Logger.getLogger(TransactionContextTestExecutionListener.class);
@Override
public void beforeTestMethod(TestContext testContext) throws Exception {
Object ctx = testContext.getApplicationContext().getBean(Context.class);
}
私のJUnitクラスは次のようになります。
@ContextConfiguration(locations = "classpath:/META-INF/spring-test/tests-context.xml")
@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners(TransactionContextTestExecutionListener.class)
@Transactional
public class SelectQueryBuilderTest {}
問題は、beforeTestMethodメソッドが最初に実行されたテストメソッドの前にのみ呼び出されることです。残りのすべての前に呼び出されるわけではありません。
設定に問題がありますか?何か案が?
ありがとう