Dieses Mal werde ich Ihnen Python vorstellen. Wie man Unittest Unit-Tests automatisiert, welche Vorsichtsmaßnahmen es für Python Unittest gibt, um Unit-Tests zu automatisieren, das Folgende ist Werfen wir einen Blick auf praktische Fälle.
Das Beispiel in diesem Artikel teilt den spezifischen Code des automatisierten Unittest-Frameworks von Python als Referenz. Der spezifische Inhalt lautet wie folgt:
1 >Dieser Artikel behandelt nur PyUnit)
Referenzadresse2. Umgebungsvorbereitung
Stellen Sie zunächst sicher, dass Python installiert ist, und installieren Sie dann PyUnit. Die Python-Version ist relativ neu in PyUnit integriert (PyUnit bietet eine grafische Testoberfläche UnittestGUI.py)Die verwendete IDE ist PyCharm. Die DEMO-Struktur ist wie in der Abbildung dargestellt
1 Eine einfache Instanz
2 In Fällen können Sie Suite verwenden, um mehrere Fälle zu verwalten. Suite kann als Fallcontainer betrachtet werden, der viele Fälle enthalten kann# 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')
Fallmodul
hinzufügen
Die nächsten sind drei Suite-Module. Importieren Sie zuerst das Case-Modul, fügen Sie dann Suite hinzu und fügen Sie dann Case in Suite hinzu. Zum Schluss müssen Sie TestRunner bei der Ausführung verwenden# 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'
Einfach TestSuite:
Sie können Case auch direkt in der Hauptmethode hinzufügen, ohne die Suite-Methode zu definieren, und dann# 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)
zur Unterscheidung verschiedener Fälle verwenden, und Suiten können auch
4. Zusammenfassung# 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())
PyUnit ist ein Unit-Test-Framework für Python ist bequem zu verwenden.
In Python wird jede Methode als Anwendungsfall betrachtet und kann als Fall betrachtet werden. Hier stellen wir die Verwendung von Suite zum Verwalten von Fällen vor und führen Sie es in Gruppen aus. Weitere interessante Informationen finden Sie unter: unittest – Unit-Testing-Framework
Ich glaube, Sie haben die Methode beherrscht Achten Sie auf andere verwandte Artikel auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Detaillierte Erläuterung der Schritte zur Verwendung der Unittest-Testschnittstelle in PythonSo zählen Sie die Zahl von Buchstaben, die in Python vorkommenDas obige ist der detaillierte Inhalt vonSo führen Sie automatisierte Unit-Tests mit Python Unittest durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!