Wie Unittest+Coverage die Unit-Test-Abdeckung durchführt
这次给大家带来unittest+coverage怎么进行单元测试覆盖,unittest+coverage进行单元测试覆盖的注意事项有哪些,下面就是实战案例,一起来看一下。
基于上一篇文章,这篇文章是关于使用coverage来实现代码覆盖的操作实例,源代码在上一篇已经给出相应链接。
本篇文章字用来实现代码覆盖的源代码,整个项目的测试框架如下:
就是在源代码的基础上加了一个CodeCover.py文件,执行该文件会在目录CoverageReport生成相应的覆盖报告。如下是CodeCover.py的源码:
#coding=utf8 import os import time def findTestWithPath(): current_dir=os.getcwd() folderName=os.listdir(current_dir) #print folderName #获取到测试文件所在目录 TestSuit=[suite for suite in folderName if not suite.find("TestSuit")] #用来保存测试文件 testfile=[] withPathFile=[] for suite in TestSuit: #获取测试目录下的所有测试文件 testfile=testfile+os.listdir(".\\"+suite) for withPath in testfile: withPath=current_dir+"\\"+suite+"\\"+withPath withPathFile.append(withPath) del testfile #把testfile中的py文件挑选出来 withPathFile=[name for name in withPathFile if not "pyc" in name] #print testfile print withPathFile return withPathFile def codeCoverage(): now = time.strftime("%Y%m%d%H%M") htmlReport=os.getcwd()+"\\"+"CoverageReport" htmlCmd="coverage html -d " + htmlReport +"\\"+now for pyfile in findTestWithPath(): runPyCmd="coverage run " + pyfile if os.path.exists(htmlReport) : os.system(runPyCmd) os.system(htmlCmd) else: os.mkdir(htmlReport) os.system(runPyCmd) os.system(htmlCmd) if name=="main": codeCoverage()
运行结果图:
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Das obige ist der detaillierte Inhalt vonWie Unittest+Coverage die Unit-Test-Abdeckung durchführt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Was halten Sie von Furmark? 1. Stellen Sie den „Ausführungsmodus“ und den „Anzeigemodus“ in der Hauptoberfläche ein, passen Sie auch den „Testmodus“ an und klicken Sie auf die Schaltfläche „Start“. 2. Nach einer Weile sehen Sie die Testergebnisse, darunter verschiedene Parameter der Grafikkarte. Wie wird Furmark qualifiziert? 1. Verwenden Sie eine Furmark-Backmaschine und überprüfen Sie das Ergebnis etwa eine halbe Stunde lang. Die Temperatur liegt im Wesentlichen bei etwa 85 Grad, mit einem Spitzenwert von 87 Grad und einer Raumtemperatur von 19 Grad. Großes Gehäuse, 5 Gehäuselüfteranschlüsse, zwei vorne, zwei oben und einer hinten, aber nur ein Lüfter ist installiert. Sämtliches Zubehör ist nicht übertaktet. 2. Unter normalen Umständen sollte die normale Temperatur der Grafikkarte zwischen „30-85℃“ liegen. 3. Auch wenn die Umgebungstemperatur im Sommer zu hoch ist, beträgt die normale Temperatur „50-85℃“

„Operation Delta“ wird heute (7. März) einen groß angelegten PC-Test mit dem Namen „Codename: ZERO“ starten. Letztes Wochenende veranstaltete dieses Spiel in Shanghai eine Offline-Flashmob-Erlebnisveranstaltung, und 17173 hatte auch das Glück, zur Teilnahme eingeladen zu werden. Dieser Test liegt etwas mehr als vier Monate seit dem letzten Test zurück, was uns neugierig macht, welche neuen Highlights und Überraschungen wird „Operation Delta“ in so kurzer Zeit mit sich bringen? Vor mehr als vier Monaten habe ich „Operation Delta“ in einer Offline-Verkostung und der ersten Beta-Version erlebt. Damals öffnete das Spiel nur den „Dangerous Action“-Modus. Allerdings war die Operation Delta für ihre Zeit bereits beeindruckend. Im Kontext der großen Hersteller, die in den Markt für mobile Spiele strömen, ist ein solcher FPS mit internationalen Standards vergleichbar

Der „Inaction Test“ des neuen Fantasy-Märchen-MMORPG „Zhu Xian 2“ startet am 23. April. Was für eine neue Märchen-Abenteuergeschichte wird auf dem Kontinent Zhu Die Six Realm Immortal World, eine Vollzeitakademie zur Kultivierung von Unsterblichen, ein freies Leben zur Kultivierung von Unsterblichen und jede Menge Spaß in der Welt der Unsterblichen warten darauf, von den unsterblichen Freunden persönlich erkundet zu werden! Der Vorab-Download von „Wuwei Test“ ist jetzt möglich. Sie können sich zum Herunterladen auf die offizielle Website begeben. Der Aktivierungscode kann nach dem Vorab-Download und der Installation verwendet werden abgeschlossen. „Zhu Als Blaupause wird der Spielhintergrund festgelegt

Datenbanktestfähigkeiten in Golang Einführung: Datenbanktests sind ein sehr wichtiges Glied bei der Entwicklung von Anwendungen. Geeignete Testmethoden können uns helfen, potenzielle Probleme zu entdecken und die Korrektheit von Datenbankoperationen sicherzustellen. In diesem Artikel werden einige gängige Datenbanktesttechniken in Golang vorgestellt und entsprechende Codebeispiele bereitgestellt. 1. Testen mit einer In-Memory-Datenbank Beim Schreiben datenbankbezogener Tests stehen wir normalerweise vor der Frage: Wie testet man, ohne auf eine externe Datenbank angewiesen zu sein? Hier können wir Speicher nutzen

Maven ist ein Open-Source-Projektmanagementtool, das häufig für Aufgaben wie die Erstellung, das Abhängigkeitsmanagement und die Dokumentenfreigabe von Java-Projekten verwendet wird. Wenn wir Maven für die Projekterstellung verwenden, möchten wir manchmal die Testphase ignorieren, wenn wir Befehle wie mvnpackage ausführen, was in einigen Fällen die Build-Geschwindigkeit verbessert, insbesondere wenn ein Prototyp oder eine Testumgebung schnell erstellt werden muss. In diesem Artikel wird anhand spezifischer Codebeispiele detailliert beschrieben, wie die Testphase in Maven ignoriert werden kann. Warum Sie das Testen während der Projektentwicklung oft ignorieren sollten

Überblick über die Verwendung von Selenium für Web-Automatisierungstests: Web-Automatisierungstests sind ein wichtiger Bestandteil des modernen Softwareentwicklungsprozesses. Selenium ist ein leistungsstarkes automatisiertes Testtool, das Benutzervorgänge in einem Webbrowser simulieren und automatisierte Testprozesse implementieren kann. In diesem Artikel wird die Verwendung von Selenium für Web-Automatisierungstests vorgestellt und Codebeispiele bereitgestellt, um den Lesern den schnellen Einstieg zu erleichtern. Vorbereitung der Umgebung Bevor Sie beginnen, müssen Sie die Selenium-Bibliothek und den Webbrowser-Treiber installieren

Wie verwende ich MTR für Zuverlässigkeitstests der MySQL-Datenbank? Überblick: MTR (MySQL Test Runner) ist ein offiziell von MySQL bereitgestelltes Testtool, das Entwicklern bei der Durchführung von Funktions- und Leistungstests von MySQL-Datenbanken helfen kann. Während des Entwicklungsprozesses müssen wir häufig verschiedene Tests durchführen, um die Zuverlässigkeit und Stabilität der Datenbank sicherzustellen. MTR bietet eine einfache, bequeme und zuverlässige Methode zur Durchführung dieser Tests. Schritte: MySQL-Testläufer installieren: Zuerst müssen Sie ihn von der offiziellen MySQL-Website herunterladen

Einführung Kontinuierliche Integration (CI) und kontinuierliche Bereitstellung (CD) sind Schlüsselpraktiken in der modernen Softwareentwicklung, die Teams dabei helfen, hochwertige Software schneller und zuverlässiger bereitzustellen. Jenkins ist ein beliebtes Open-Source-CI/CD-Tool, das den Build-, Test- und Bereitstellungsprozess automatisiert. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP eine CI/CD-Pipeline mit Jenkins einrichten. Jenkins einrichten Jenkins installieren: Laden Sie Jenkins von der offiziellen Jenkins-Website herunter und installieren Sie es. Projekt erstellen: Erstellen Sie im Jenkins-Dashboard ein neues Projekt und benennen Sie es entsprechend Ihrem PHP-Projekt. Quellcodeverwaltung konfigurieren: Konfigurieren Sie das Git-Repository Ihres PHP-Projekts als Jenkin
