@RunWith (Springjunit4classrunner.class)@WebAppConfiguration (value ="Src/main/webapp")@ContextHierarchy ({@ContextConfiguration (name ="Parent", locations ="Classpath:./spring/applicationcontext.xml")})PublicClassmessagetest {@AutowiredPrivate Webapplicationcontext WAC;Private MOCKMVC Mockmvc;@BeforePublicvoidSetUp() {MOCKMVC = Mockmvcbuilders.webappcontextsetup (WAC). build ();} @Test public void testtemppage () Throws Exception {Mockmvc.perform (Mockmvcrequestbuilders.get ( @Test public void testaddtemp () Throws Exception {Mockmvc.perform (mockmvcrequestbuilders.post ( "name", "new Test 3"). Param (
Testaddtemp added a day record, how to make this test add the action automatically rollback?
- September 16, 2015 question
- Comments
- Invitation to answer
1 answers
1
Adopted
@RunWith (Springjunit4classrunner.class)@WebAppConfiguration (value ="Src/main/webapp")@ContextHierarchy ({@ContextConfiguration (name ="Parent", locations ="Classpath:./spring/applicationcontext.xml")})@TransactionConfiguration (TransactionManager ="TransactionManager", Defaultrollback =True@TransactionalPublicClassmessagetest {@AutowiredPrivate Webapplicationcontext WAC;Private MOCKMVC Mockmvc;@BeforePublicvoidSetUp() {MOCKMVC = Mockmvcbuilders.webappcontextsetup (WAC). build ();}@Testpublic void testTempPage () throws Exception {mockmvc.perform (Mockmvcrequestbuilders.get ( Span class= "hljs-string" > "/msg/temp/page/v1")); } @Test @Rollback (true) Span class= "hljs-function" >public void testaddtemp () throws Exception { Mockmvc.perform (Mockmvcrequestbuilders.post (" "Name", "new Test 3"). Param ( "content", " nice Roll ")); }}
It is generally sufficient to add @transactional to your test class, and spring will roll back by default.
A simpler approach: direct inheritanceAbstractTransactionalJUnit4SpringContextTests
Spring-mvc How do I roll back in JUnit unit tests?