어떻게 우수한 테스트 코드를 씁니까

대량의 테스트 코드를 쓰기 전에 어떻게 해야 읽기 쉽고 유지보수하기 쉬운 테스트 코드를 쓸 수 있는지 잘 생각해 보세요.
제가 테스트 코드를 쓰는 동안 몇 가지 생각을 해볼게요.
1, 우선 코드의 가독성을 잘 해야 한다. 만약 이 점을 하지 못한다면 나는 나 자신에게 구덩이를 파는 것이라고 생각한다.
그래서 나중에 given, when, then의 방법으로 코드의 구조를 자주 사용했는데 그 뜻은'어떤 조건을 정한 후에','어떤 조작을 실행할 때','어떤 구조가 나올까'라는 것이다.
public class DemoTest{

    @Test
    public void should_success_when_login() {
        // Given
        String name = "abc";
  
        // When
        boolean result = userService.login(name);

        // Then
        assertTrue(result);
    }
}

2. 테스트를 받는 방법은 너무 길지 않아야 한다. 너무 길면 전기에 대량의 코드를 써서 나중에 실패한 검증을 해야 하기 때문에 얻는 것보다 잃는 것이 많다. 이 문제를 해결하는 방법은 테스트를 받은 논리 코드를 작은 블록으로 봉한 다음에 작은 블록을 단독으로 테스트하는 것이다.
3, 하나의 테스트 클래스에 많은 테스트 방법이 있을 때 골치 아픈 문제가 발생하고 어떤 논리 코드를 찾는 테스트 방법은 그리 간단하지 않다.그래서 유지할 수 있고 읽을 수 있도록우리가 테스트 방법을 규범화하는 방법명이 필요하다.내가 자주 사용하는 테스트 방법에는 규칙이 있다.
    should_success_when_username_not_empty()
    should_fail_when_username_is_empty()
    shoule_throw_argumentException_when_login()
방법 명류를 통해 테스트의 의도를 표현하다.
4, 테스트 클래스 중의 한 방법만 테스트할 수 있도록 하면 많은 시간을 절약할 수 있다.매번 테스트 유형을 한 번 집행할 때마다 테스트 방법이 증가함에 따라 시간 원가도 선형적으로 증가할 것이다.
5. 자신의 개발 효율을 높이기 위해 테스트의 관심사 방법을 검증하는 논리적인 측면에서 간략한 코드를 사용하는 도구류는 매우 중요하다. 예를 들어 간단한 한 줄 코드를 통해 대상을 위조하는 것이지 매번 new에서 대상을 위조한 다음에 각각 속성을 설정하는 것이 아니다.
Java 테스트를 작성하여 자주 사용하는 보조 라이브러리 끝 mockito를 테스트합니다.
PHP 코드를 작성할 때 SimpleTest 사용
JS 코드를 쓸 때 나는 Jasmine을 사용한다.

좋은 웹페이지 즐겨찾기