저는 junit을 봄으로 설정하려고합니다. 그리고 Spring의 의존성 주입을 사용하여 테스트 클래스를 채우려고합니다. 이게 내가 시도해야 할게 있는지 궁금하네요? 내가 봄에 볼 수있는 것은 테스트 클래스를 인스턴스화하고 DI를 수행하지만 JUnit은 DI를 수행하지 않은 자체 인스턴스를 작성하고 테스트가 실패하고 있다고 생각합니다. 저는 JUnit 4.x와 Spring 3.1.1을 사용하고 있습니다.Junit with spring을 사용합니다.
답변
스프링을 사용하여 테스트에 의존성을 주입하여 통합 테스트를 수행 할 수 있습니다. 이
@RunWith(SpringJUnit4ClassRunner.class)
@Transactional
@ContextConfiguration(locations = "/applicationContext-TEST.xml")
public class MyTest {}
처럼 주석 그러나 단지 POJO의로 스프링 관리 클래스를 테스트하고 적절한 mock objects을 사용하는 것이 바람직 할 수있다.
예를 들어, 많은 컨트롤러 메소드에는 Spring이 런타임에 모델을 주입했습니다. 그러나 유닛 테스트에 대해서는 HashMap 인스턴스를 전달합니다. 그리고 인터페이스 클래스로 설계되어 세터 주입을 사용하기 때문에 조롱 한 DAO에서 전달할 수있는 서비스 계층 클래스는 다음과 같습니다.
jUnit을 사용하면 각 테스트는 테스트 커버리지를 벗어난 종속성없이 격리되어야합니다. Spring에서 mock bean 인스턴스화를 제공하는 몇 가지 테스트 프레임 워크가있다.
Stubs and Mocks에는 우수한 마틴 파울러 article이 있습니다.
Mockito와 PowerMock을 함께 사용하면 스프링 구성 요소, 서비스 및 컨트롤러를 테스트하는 데 도움이 될 수 있습니다.
Mockito 소개 : https://code.google.com/p/mockito/
PowerMock 소개 : http://code.google.com/p/powermock/
나는이 배우고 구현, 연구하는 시간을 걸릴 것 이해하지만이 종속성 주입 된 콩 JUnit 테스트를 작성하기위한 매우 유용합니다.
나는 현재 내가하고있는 일이 "순수한"단위 테스트가 아니라는 것을 이해하지만, 실용적인 이유 때문에이 과정을 계속 진행할 것입니다. 나중에 나는 당신이 제공 한 모의 테스트 프레임 워크를 조사 할 것이다. – opike
- 1. @Autowired with scala를 사용합니다.
- 2. Lingo with Spring을 사용 하시겠습니까?
- 3. Jmockit NullPointerException with Junit
- 4. jsfunit with junit 4
- 5. junit with spring and mybatis
- 6. GroupBy가 Linq with Objects를 사용합니다.
- 7. JRuby with Rails 3.2를 사용합니다.
- 8. Spawn JUnit 4 테스트를 프로그래밍 방식으로 사용합니다.
- 9. java ee 6 with junit 3
- 10. delayed_paperclip gem with delayed_job gem을 사용합니다.
- 11. Django에서 AJAX with Forms, Views를 사용합니다.
- 12. extjs + spring을 사용하여 파일 다운로드하기
- 13. Quartz와 Spring을 사용하는 NullPointerException
- 14. 어느 부분에 Spring을 추가해야합니까?
- 15. Spring을 통한 Hibernate SessionFactory
- 16. Spring을 사용한 일반 사항
- 17. EJB에 Spring을 삽입하는 방법
- 18. ejb와 함께 spring을 사용
- 19. Heroku에서 Spring을 사용하는 인증
- 20. Junit 메소드의 Java-Junit/오해
- 21. 누구나 WP-CodeBox 1.4 with Wordpress 2.8.6을 사용합니다.
- 22. Watir-webdriver with java
- 23. Spring을 사용하여 Resources 폴더 설정하기
- 24. Grails에서 Spring을 작성할 수 있습니까?
- 25. Spring을 이메일 저장소로 사용하는 방법
- 26. 여러 파일을 Spring을 사용하여 처리합니다.
- 27. PHP 프로그래머가 Spring을 배우고 싶습니다.
- 28. 요청을 Spring을 통해 채우고 있습니까?
- 29. GAE에서 Spring을 사용할 수 있습니까?
- 30. python/django에서 java/spring을 배우기
"@RunWith (SpringJUnit4ClassRunner.class)"및 "@ContextConfiguration (locations = { '/application-config.xml'})''주석을 사용하고 있습니까? – timaschew
@opike 그래서 JUnit 테스트 클래스 자체에 의존성을 주입하고 싶습니까? – Ritesh