우리는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!