>데이터 베이스 >MySQL 튜토리얼 >Python Unittest로 자동화된 단위 테스트를 수행하는 방법

Python Unittest로 자동화된 단위 테스트를 수행하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-04-09 17:53:443384검색

이번에는 Python Unittest를 자동화하는 방법단위 테스트과 단위 테스트를 자동화하기 위한 Python Unittest의 Notes가 무엇인지 살펴보겠습니다.

이 문서의 예는 참고용으로 Python Unittest 자동화 단위 테스트 프레임워크의 특정 코드를 공유합니다. 구체적인 내용은 다음과 같습니다

1. Python 테스트 프레임워크(이 문서에는 PyUnit만 포함됩니다.)

참조 주소

2. 환경 준비

먼저 Python이 설치되어 있는지 확인한 다음 최신 Python 버전에 PyUnit이 통합되어 있는지 확인하세요. (PyUnit은 그래픽 테스트 인터페이스 UnittestGUI.py를 제공합니다.)
참조: 주소 보기

3.

사용된 IDE는 그림과 같습니다

1. 사례가 많을 경우 Suite를 사용하여 여러 사례를 관리할 수 있습니다. 케이스 컨테이너는 많은 케이스를 담을 수 있습니다

# Test002_Fail.py
# -*- coding:utf-8 -*-
import unittest
class Test002_Fail(unittest.TestCase):
  #测试用例前执行
  def setUp(self):
    print 'Case Before'
    pass
  #测试用例后执行
  def tearDown(self):
    print 'Case After'
    pass
  #测试用例1
  def test_Case1(self):
    a = 3
    b = 2
    self.assertEqual(a+b,4,'Result Fail')
  #测试用例2
  def test_Case2(self):
    a = 2
    b = 3
    self.assertEqual(a*b,7,'Result Fail')
if name == 'main':
  unittest.main()

3.Suite와 Case는 서로 다른 Python 파일로 별도로 작성할 수 있으므로 케이스 모듈과 Suite 관리 모듈을 쉽게 구별할 수 있습니다. 케이스 모듈에 케이스를 추가한 다음 Suite 모듈에 추가하세요

케이스 모듈

# SuiteDemo.py
# -*- coding:utf-8 -*-
#一个类,添加测试集
import unittest
class SuiteDemo(unittest.TestCase):
  #测试用例前执行
  def setUp(self):
    print 'Case Before'
    pass
  #测试用例后执行
  def tearDown(self):
    print 'Case After'
    pass
  def test_Case1(self):
    a = 3
    b = 2
    self.assertEqual(a+b,5,'Result Fail')
    print 'Case1'
  def test_Case2(self):
    a = 2
    b = 3
    self.assertEqual(a*b,6,'Result Fail')
    print 'Case2'
#定义一个测试集合,方便添加Case
def suite():
  suiteTest = unittest.TestSuite()
  suiteTest.addTest(SuiteDemo("test_Case1"))
  suiteTest.addTest(SuiteDemo("test_Case2"))
  return suiteTest
#默认运行时通过 Suite 运行
if name == 'main':
  unittest.main(defaultTest='suite')

다음은 세 개의 Suite 모듈입니다. 모두 먼저 Case 모듈을 가져온 다음 Suite를 추가하고 Suite를 실행하고 마지막으로 TestRunner를 사용합니다. 이 TestRunner는 Suite

Simple TestSuite의 실행기와 동일합니다.

# TestCaseDemo
# -*- coding:utf-8 -*-
import unittest
class TestCaseDemo(unittest.TestCase):
  def setUp(self):
    pass
  def tearDown(self):
    pass
  def test_Case1(self):
    print 'test_Case1'
  def test_Case2(self):
    print 'test_Case2'
  def test_Case3(self):
    print 'test_Case3'
  def test_Case4(self):
    print 'test_Case4'

Suite 메서드를 정의하지 않고 기본 메서드에 직접 Case를 추가한 다음 실행

# TestCase_Demo1.py
# -*- coding:utf-8 -*-
#集合写入一个方法,main调用并启动
import unittest
from TestCase_Demo import TestCaseDemo
#添加一个测试集合,并添加Case
def suite():
  suiteTest = unittest.TestSuite()
  suiteTest.addTest(TestCaseDemo('test_Case1'))
  return suiteTest
#指定并启动测试集合,运行集合方法
if name == 'main':
  runner = unittest.TextTestRunner()
  runner.run(suite())

할 수도 있습니다. 마찬가지로 Suite

를 그룹화하여

다양한 Case를 구분할 수 있으며 Suite에는

# TestCase_Demo2.py
# -*- coding:utf-8 -*-
#集合可以写在main
import unittest
from TestCase_Demo import TestCaseDemo
#指定并启动测试集合
if name == 'main':
  #添加测试集合Case,并启动
  suiteTest = unittest.TestSuite()
  suiteTest.addTest(TestCaseDemo('test_Case1'))
  suiteTest.addTest(TestCaseDemo('test_Case2'))
  #直接启动集合
  runner = unittest.TextTestRunner()
  runner.run(suiteTest)
4도 포함될 수 있습니다. 요약

PyUnit은 Python용 단위 테스트 프레임워크로, 자동화된 관리를 쉽게 할 수 있습니다.

Python에서는 메소드 이름이 test_로 시작하는 모든 메소드가 유스케이스로 간주되어 케이스로 간주될 수 있습니다. 여기에서는 Suite를 사용하여 Case를 관리하고 Case를 그룹으로 실행하는 방법을 소개합니다. 다른 많은 기능에 대해서는 다음을 참조하세요. 단위 테스트 — 단위 테스트 프레임워크


이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

Python에서 단위 테스트 테스트 인터페이스를 사용하는 단계에 대한 자세한 설명


Python은 문자가 나타나는 횟수를 어떻게 계산합니까?

위 내용은 Python Unittest로 자동화된 단위 테스트를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.