Code Smell 76 - 일반 어설션

커버리지에 대한 잘못된 느낌을 주기 위해 약한 테스트를 하지 마십시오.

TL;DR: Test Assertions should be precise. Not too Vague and not too specific. There is no silver bullet.



문제


  • 위음성
  • 신뢰 부족

  • 솔루션


  • 올바른 케이스 확인
  • 기능 케이스에 대해 어설션합니다.
  • 구현을 테스트하지 마십시오.

  • 샘플 코드



    잘못된




    square = Square(5)
    
    assert square.area() != 0
    
    # This will lead to false negatives since it is too vague
    

    오른쪽



    square = Square(5)
    
    assert square.area() = 25
    
    # Assertion should be precise
    

    발각



    Mutation Testing 기술을 사용하면 테스트에서 이러한 오류를 찾을 수 있습니다.

    태그


  • 테스팅

  • 결론



    구체적인 비즈니스 사례를 요청하고 도메인을 기반으로 구체적인 주장을 하는 것과 같은 개발 기술을 사용해야 합니다.

    처지











    더 많은 정보


  • Mutation Testing

  • 학점



    이 냄새는 Mario Cervera에서 영감을 받아 그의 .

    사진 제공: Fleur on Unsplash


    A program that produces incorrect results twice as fast is infinitely slower.



    존 오스터하우트






    이 기사는 CodeSmell 시리즈의 일부입니다.


    좋은 웹페이지 즐겨찾기