2013-08-17 2 views
3

내 스프링 코드를 테스트 할 :봄의 JUnit은 테스트

@ContextConfiguration(locations = { "/applicationContext.xml" }) 
@Transactional() 
public class Test { 

    @Autowired 
    MyDao dao; 

    @org.junit.Test 
    @Rollback(false) 
    public void testSomething() throws Exception { 
     MyEntity e = new MyEntity(); 
     dao.create(e); 
    } 
} 

단지 Nullpointer-예외를 제공합니다 (AN JUnit 테스트 등) 일식이 테스트를 실행합니다.

내가 잘못 했습니까? 고마워!

답변

4

그냥 클래스에 @RunWith(SpringJUnit4ClassRunner.class)을 추가

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = { "/applicationContext.xml" }) 
@Transactional() 
public class Test { 

    @Autowired 
    MyDao dao; 

    @org.junit.Test 
    @Rollback(false) 
    public void testSomething() throws Exception { 
     MyEntity e = new MyEntity(); 
     dao.create(e); 
    } 
} 

당신은 그것에 대해 spring-test이 필요합니다.

+0

감사합니다 각각의 테스트 클래스 @ContextConfiguration@Transcational를 작성하지 않아도이

@ContextConfiguration(locations = "classpath*:applicationContext.xml") public class IntegrateTestBase extends AbstractTransactionalJUnit4SpringContextTests { } 

같은 트랜잭션 테스트 기본 클래스를 추가 할 수 있습니다! 그게 전부 야! –

+0

@UdoR. 나는 기쁘다. – t777

2

당신은 그런 wirite 테스트 클래스

public class Test extends IntegrateTestBase { 

    @Autowired 
    MyDao dao; 

    @org.junit.Test 
    @Rollback(false) 
    public void testSomething() throws Exception { 
     MyEntity e = new MyEntity(); 
     dao.create(e); 
    } 
} 

당신은

관련 문제