programing

Python 쓰기 단위 테스트:어떻게 시작할까요?

javaba 2022. 10. 7. 23:36
반응형

Python 쓰기 단위 테스트:어떻게 시작할까요?

Python에서 첫 번째 적절한 프로젝트를 마쳤으며, 이제 내 임무는 Python에 대한 테스트를 작성하는 것입니다.

프로젝트를 하는 것은 처음이기 때문에 시험 작성은 처음입니다.

문제는 어떻게 시작할까?나는 정말로 모르겠다.쓰기 테스트에 사용할 수 있는 문서/튜토리얼/링크/책(특히 유닛 테스트)을 가르쳐 주실 수 있습니까?

이 주제에 관한 어떤 조언도 환영합니다.

Unittests를 처음 사용하는 경우 가장 간단한 학습 방법이 가장 좋습니다.따라서 디폴트 모듈보다 사용을 권장합니다.

다음 두 가지 예를 생각해 보겠습니다.

예 1(단축 없음):

import unittest

class LearningCase(unittest.TestCase):
    def test_starting_out(self):
        self.assertEqual(1, 1)

def main():
    unittest.main()

if __name__ == "__main__":
    main()

예 2(pytest):

def test_starting_out():
    assert 1 == 1

두 파일의 이름이 모두 지정되어 있는 경우test_unittesting.py테스트는 어떻게 실행합니까?

예 1(단축 없음):

cd /path/to/dir/
python test_unittesting.py

예 2(pytest):

cd /path/to/dir/
py.test

무료 Python 책 Dive Into Python에는 유닛 테스트에 관한 장(章)이 있어 도움이 될 수 있습니다.

만약 당신이 현대적인 관행을 따른다면, 당신은 아마도 프로젝트를 작성할 때 테스트를 작성해야 할 것입니다. 그리고 당신의 프로젝트가 거의 끝날 때까지 기다리지 마세요.

지금은 좀 늦었지만, 다음 번에는 알겠죠.:)

내 생각에, 다음 세 가지 훌륭한 Python 테스트 프레임워크가 있습니다.

  • unittest - 모듈은 모든 Python 배포에 표준으로 제공됩니다.
  • 노즈 - 단시간 테스트를 수행할 수 있으며 보일러 플레이트가 적습니다.
  • pytest - 테스트도 지속적으로 실행되며, 보일러 플레이트가 적고, 보고 기능이 우수하며, 많은 쿨한 추가 기능이 있습니다.

이 모든 것을 잘 비교하려면 Start Here - Python Testing에서 각각의 소개를 읽어보십시오.고정 장치에 대한 연장 기사도 있습니다.

unittest에 대한 문서를 시작하는 것이 좋을 것 같습니다.

또, 지금은 조금 늦었지만, 앞으로는 프로젝트 전이나 프로젝트 도중에 유닛 테스트를 작성하는 것을 검토해 주십시오.이렇게 하면 코드 변경으로 인해 기존 코드가 깨지지 않았는지 확인하기 위해 코드 변경을 사용하여 테스트를 수행할 수 있습니다.이렇게 하면 테스트 케이스를 작성할 수 있는 이점을 최대한의 이점을 얻을 수 있습니다.

unittest는 스탠다드 라이브러리와 함께 제공되지만, 저는 여러분에게 nosetest를 추천합니다.

"테스트를 쉽게 하기 위해 끊임없이 확장됩니다."

필린트도 추천합니다.

"Python 소스 코드를 분석하여 버그 품질 저하 징후를 찾습니다."

이미 답장이 왔듯이 단위시험 작성은 늦었지만 너무 늦지는 않았습니다.문제는 코드가 테스트 가능한지 여부입니다.실제로 기존 코드를 테스트하는 것은 쉽지 않습니다. 이에 대한 책도 있습니다.레거시 코드로 효과적으로 기능(주요 포인트 또는 선행 PDF 참조).

유닛 테스트 작성 여부는 고객님이 결정하셔야 합니다.지루한 작업이 될 수 있다는 것만 알아두면 됩니다.유닛 테스트를 학습하거나 먼저 합격(엔드 투 엔드) 테스트를 작성하고 코드를 변경하거나 프로젝트에 새로운 기능을 추가할 때 유닛 테스트를 작성할 수 있습니다.

nosetests는 Python에서의 유닛 테스트에 적합한 솔루션입니다.Unittest 기반 테스트 사례와 Doctest를 모두 지원하며 간단한 구성 파일만으로 시작할 수 있습니다.

언급URL : https://stackoverflow.com/questions/3371255/writing-unit-tests-in-python-how-do-i-start

반응형