Bonjour à tous,


Je désire faire du testing de mon code, et j'ai pour cela choisi la classe de spring :
org.springframework.test.AbstractTransactionalSpringContextTests


Lorsque que je lance mes tests, j'obtiens le warning suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
7 janv. 2008 14:59:04 org.springframework.test.AbstractDependencyInjectionSpringContextTests populateProtectedVariables
ATTENTION: No bean with name 'transactionStatus'
J'ai donc à tout hasard tenté d'ajouter ce Bean à ma config, sans bien comprendre son utilité :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<bean id="transactionStatus" class="org.springframework.transaction.support.SimpleTransactionStatus"/>
Mais mes tests plantent (alors qu'ils passaient avant) sur la trace suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
java.lang.IllegalStateException: Cannot start new transaction without ending existing transaction: Invoke endTransaction() before startNewTransaction()
    at org.springframework.test.AbstractTransactionalSpringContextTests.startNewTransaction(AbstractTransactionalSpringContextTests.java:380)
    at org.springframework.test.AbstractTransactionalSpringContextTests.onSetUp(AbstractTransactionalSpringContextTests.java:217)
    at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:103)
    at junit.framework.TestCase.runBare(TestCase.java:132)
    at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
    at junit.framework.TestResult$1.protect(TestResult.java:110)
    at junit.framework.TestResult.runProtected(TestResult.java:128)
    at junit.framework.TestResult.run(TestResult.java:113)
    at junit.framework.TestCase.run(TestCase.java:124)
    at junit.framework.TestSuite.runTest(TestSuite.java:232)
    at junit.framework.TestSuite.run(TestSuite.java:227)
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Quelqu'un aurait-il une idée de ce qui se passe, et à quoi peut bien servir tout cela?

D'avance merci!