단위 테스트에 대해 처음 들어본 것은 아니지만 사용해본 적은 없습니다. 모듈을 테스트하는 방법 특별히 유닛에 대한 테스트 프로그램을 작성한 다음 테스트 유닛 코드를 사용하여 테스트해야 합니까? 나는 그렇게 생각했다. 스프링 프레임워크를 배운 후 단위 테스트가 무엇인지 깨달았습니다.
이전 글의 첫 번째 set 주입 사례가 테스트 대상입니다. 단위 테스트를 수행합니다.
1. jar 패키지를 복사합니다
junit-3.8.2.jar(4.x는 주로 주석 애플리케이션을 추가합니다)
2. 비즈니스 클래스 작성
public class User{ privateString username; publicString getUsername() { returnusername; } publicvoid setUsername(String username) { this.username= username; } //添加方法 publicString login() throws Exception{ if("admin".equals(username){ return"success"; }else{ return"error"; } } }
3. 테스트 클래스 정의
테스트 클래스용으로 별도의 프로젝트를 생성하거나, junit.framework.TestCase를 상속받아야 하는 별도의 폴더를 정의하는 것이 가장 좋습니다.
4. 테스트 메서드
테스트 메서드는 공개되어야 하며 반환 값이 없어야 합니다. 메서드 이름은 test로 시작하고 매개변수가 없어야 합니다.
테스트 메서드에는 순서에 따라 실행 순서가 있습니다. 메소드 정의
여러 테스트 메소드는 동일한 비즈니스 메소드를 테스트합니다. 일반적으로 각 논리적 분기 구조가 테스트됩니다.
public class TestUserextends TestCase{ publicvoid testUser_Success() throws Exception{ //准备数据 Useraction = new User(); action.setUsername("admin"); //调用被测试方法 Stringresult = action.login(); //判断测试是否通过 assertEquals("success",result); } }
테스트에 성공하면 아래와 같은 결과가 나옵니다.
실행에 실패하면 테스트에 실패한 메서드를 찾으면 오류가 발생한 메서드가 표시됩니다. 위 이미지의 녹색 막대가 빨간색으로 변합니다.
5. 테스트 클래스의 라이프사이클 메서드
//用来进行初始化操作 @Override protectedvoid setUp() throws Exception { System.out.println("setUp..."); } //用来做销毁操作 @Override protectedvoid tearDown() throws Exception { System.out.println("tearDown..."); }
setUp 메서드는 각 테스트 메서드 전에 한 번 실행됩니다. 각 테스트 메소드 이후에 TeaDown 메소드가 한 번씩 실행됩니다
위는 Spring 프레임워크 학습 내용입니다(3) junit 단위 테스트에 대한 자세한 내용은 PHP 중국어 홈페이지(www.php)를 참고하시기 바랍니다. .cn)!