Cette fois, je vais vous présenter Python Comment automatiser les tests unitaires Tests unitaires, quelles sont les Précautions pour que Python Unittest automatise les tests unitaires, les suivantes sont Jetons un coup d'œil à des cas pratiques.
L'exemple de cet article partage le code spécifique du framework de tests unitaires automatisés Python Unittest pour votre référence. Le contenu spécifique est le suivant
1. >Cet article ne couvre que PyUnit)
Adresse de référence2. Préparation de l'environnement
Assurez-vous d'abord que Python est installé, puis installez PyUnit. La version Python est relativement nouvelle Intégrée à PyUnit (PyUnit fournit une interface de test graphique UnittestGUI.py)Référence : Afficher l'adresse
Exemples de code
. L'IDE utilisé est PyCharm, La structure DEMO est telle que montrée sur la figure 1 Une instance simple# 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()
# 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')
# 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'
# 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())
# 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)
est utilisé pour distinguer différents cas, et les suites peuvent également inclure
# TestCase_Demo3.py # -*- coding:utf-8 -*- #包含集合,多集合 import unittest from TestCase_Demo import TestCaseDemo #添加不同的合集 def Suite1(): suiteTest = unittest.TestSuite() suiteTest.addTest(TestCaseDemo("test_Case1")) suiteTest.addTest(TestCaseDemo("test_Case2")) print 'Suite1 运行' return suiteTest def Suite2(): suiteTest = unittest.TestSuite() suiteTest.addTest(TestCaseDemo("test_Case3")) suiteTest.addTest(TestCaseDemo("test_Case4")) print 'Suite2 运行' return suiteTest #包含所有的Suite def AllSuite(): allTest = unittest.TestSuite((Suite1(),Suite2())) return allTest #运行的时候,可以根据不同的要求,运行不同的Suite,或者全部运行,这样就方便管理每次运行的case if name == 'main': runner = unittest.TextTestRunner() runner.run(AllSuite())
En Python, chaque méthode tant que le nom de la méthode commence par test_ est considérée comme un cas d'utilisation et peut être considérée comme un cas. Nous introduisons ici l'utilisation de Suite pour. gérez Case et exécutez-le en groupe. Case, il existe de nombreuses autres fonctions, veuillez vous référer à : unittest — Framework de tests unitaires
Explication détaillée des étapes d'utilisation de l'interface de test unittest en python
Comment compter le nombre de lettres apparaissant en Python
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!