2012-08-05 15 views
6

मैं यूनिट परीक्षण के रूप में चल रहा हूं और यदि मैं वसंत 3.1 में @rollback का उपयोग नहीं करता हूं तो भी यह स्वचालित रूप से वापस चला जाता है। मेरा परीक्षण की तरहक्या @ ट्रान्ससेक्शन स्वचालित रूप से स्प्रिंग 3 में रोलबैक लेनदेन करता है?

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = { "classpath:application-context.xml" }) 
public class PersonServiceTest { 

    @Test 
    @Transactional 
    public void savePerson() { 
      Person person = createPerson(); 
      personService.savePerson(person); 
    } 
} 

लग रहा है रोलबैक व्यवहार सेट किया जाता है है?

+0

टीएल; डीआर: हाँ, यह डिफ़ॉल्ट है। –

उत्तर

13

डिफ़ॉल्ट रूप से SpringJUnit4ClassRunner स्वचालित रूप से रोलबैक लेनदेन करेगा।

प्रभाव को अस्वीकार करने के लिए, प्रत्येक परीक्षण पर @TransactionConfiguration(defaultRollback=false) या अपने परीक्षण कक्षा पर @Rollback(false) का उपयोग करें।

+0

... वसंत 5 पर, '@ Commit'' @Rollback (false) को बदलता है ' –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^