우리는 UnitTest와 Pytest라는 두 개의 파이썬 프레임 워크를 사용합니다. 둘 다 유용한 기능을 가지고 있으며 파이썬 장치 테스트에서 가장 일반적으로 사용되는 프레임 워크 중 하나입니다.
def test_negative_deposit(self): # Arrange a = BankAccount(1) # Act outcome = a.deposit(-100) # Assert self.assertFalse(outcome)
이 기사는 소프트웨어 테스트의 중요성과 그에주의를 기울여야하는 이유를 살펴 봅니다. 우리는 단위 테스트를 설계하는 방법과 파이썬 단위 테스트를 작성하는 방법을 배웁니다. 특히 Python에서 가장 일반적으로 사용되는 단위 테스트 프레임 워크 인 Unittest 및 Pytest 두 가지를 탐색 할 것입니다.
- istqb ctfl syllabus 2018
다시 말해서, 실행하는 모든 테스트에 실패가 표시되지 않더라도 소프트웨어 시스템에 오류가 없거나 다른 테스트 케이스가 소프트웨어 동작에서 결함을 찾지 못한다는 것을 증명하지 않습니다.
신뢰성
기능적
가용성
유지 가능성
반복 가능. 단위 테스트는 반복적으로 실행되며 결과는 시간이 지남에 따라 일관성이 있어야합니다.
동일한 Python 파일에서 다음 코드를 추가 할 수 있습니다.
이 클래스에서는 메소드가 테스트로 시작하는 단일 테스트 기능을 정의합니다. 모든 테스트 방법은 단어 테스트로 시작해야하기 때문에 중요합니다.
<,>이 경우 세부 로고는 더 많은 정보를 제공합니다. 우리는 test_negative_deposit가 실패한다는 것을 알고 있습니다. 특히, AssertionError는 예상 결과가 거짓이어야하지만 true는 거짓이 아니라고 말하면 메소드가 true를 반환한다는 것을 의미합니다.
Pytest 소개 <🎜 🎜>
를 제공합니다
우리는 UnitTest와 Pytest라는 두 개의 파이썬 프레임 워크를 사용합니다. 둘 다 유용한 기능을 가지고 있으며 파이썬 장치 테스트에서 가장 일반적으로 사용되는 프레임 워크 중 하나입니다.
신뢰할 수 있습니다. 테스트중인 시스템에 오류가있는 경우에만 단위 테스트는 실패합니다. 환경이나 테스트가 실행되는 순서는 중요하지 않아야합니다.
<.> 올바르게 명명되었습니다. 테스트 이름은 테스트 자체에 대한 관련 정보를 제공해야합니다.
우리는 unittest.testcase의 서브 클래스 인 testbankoperations라는 클래스를 만들고 있습니다. 이런 식으로, 우리는 새로운 테스트 사례를 만들고 있습니다. unittest.testcase class에서 수업 상속 방법으로 테스트를 작성하십시오.
unittest 를 사용한 단위 테스트 작성
<.> 여기, example.py는 모든 소스 코드를 포함하는 파일의 이름입니다. 출력은 다음과 같아야합니다
import unittest
class BankAccount:
def __init__(self, id):
self.id = id
self.balance = 0
def withdraw(self, amount):
if self.balance >= amount:
self.balance -= amount
return True
return False
def deposit(self, amount):
self.balance += amount
return True
class TestBankOperations(unittest.TestCase):
def test_insufficient_deposit(self):
# Arrange
a = BankAccount(1)
a.deposit(100)
# Act
outcome = a.withdraw(200)
# Assert
self.assertFalse(outcome)
import unittest
class BankAccount:
def __init__(self, id):
self.id = id
self.balance = 0
def withdraw(self, amount):
if self.balance >= amount:
self.balance -= amount
return True
return False
def deposit(self, amount):
self.balance += amount
return True
class TestBankOperations(unittest.TestCase):
def test_insufficient_deposit(self):
# Arrange
a = BankAccount(1)
a.deposit(100)
# Act
outcome = a.withdraw(200)
# Assert
self.assertFalse(outcome)
Pytest를 사용한 단위 테스트 작성
python -m unittest example.py
테스트를 Test_로 시작하거나 _test.py로 끝나는 파일로 테스트를 작성합니다. Pytest는 현재 디렉토리 및 해당 하위 디렉토리에서 이러한 파일을 찾습니다.
따라서 Test_Bank.py라는 파일을 작성하여 폴더에 넣습니다. 이것이 첫 번째 테스트 기능의 모습입니다 :
<code>.
----------------------------------------------------------------------
Ran 1 test in 0.001s
OK</code>
def test_negative_deposit(self):
# Arrange
a = BankAccount(1)
# Act
outcome = a.deposit(-100)
# Assert
self.assertFalse(outcome)
위 내용은 UnitTest 및 Pytest를 사용한 Python 장치 테스트 안내서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
사실적인 누드 사진을 만들기 위한 AI 기반 앱
사진에서 옷을 제거하는 온라인 AI 도구입니다.
무료로 이미지를 벗다
AI 옷 제거제
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!
사용하기 쉬운 무료 코드 편집기
중국어 버전, 사용하기 매우 쉽습니다.
강력한 PHP 통합 개발 환경
시각적 웹 개발 도구
신 수준의 코드 편집 소프트웨어(SublimeText3)
Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...
Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...
Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해
Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...
Linux 터미널에서 Python 사용 ...
10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?
Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.