Mikrocontroller programmieren? Lesen Sie mehr über TDD oder haben Sie es einfach satt, nach Fehlern zu suchen und den Code erneut zu schreiben?
Freund, probiere die Tests aus.
Dieser Artikel zeigt, wie Ceedling in Eclipse / SW4STM32 integriert wird, damit der Code bei jedem Build die Tests durchläuft.
Was hat mich dazu veranlasst, einen Artikel zu schreiben?Ich konnte keine detaillierten Anweisungen finden, aber ich konnte die gefundenen Anweisungen aufgrund ihres oberflächlichen oder veralteten Inhalts nicht befolgen (z. B. wird ceedling nicht mehr vom Befehl rake ausgeführt).
Die Anweisungen für die Integration von Ceedling in Eclipse von Entwicklern sind sehr dürftig und die einzige gefundene Anweisung wurde bezahlt (dies war der letzte Strohhalm):

Installation
Zum Beispiel OS Windows, CubeMX und SW4STM32.
Installieren Sie ChocolateyÖffnen Sie PowerShell.exe und führen Sie Folgendes aus:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Installieren Sie MinGWÖffnen Sie PowerShell.exe und führen Sie Folgendes aus:
choco install mingw
Installieren Sie RubyÖffnen Sie PowerShell.exe und führen Sie Folgendes aus:
choco install ruby
Installieren Sie Edelstein-CeedlingPowerShell neu
starten !
Öffnen Sie PowerShell.exe und führen Sie Folgendes aus:
gem install ceedling
GesundheitscheckÖffnen Sie PowerShell.exe und führen Sie Folgendes aus:
cd /
ceedling new test_ceedling
cd test_ceedling
ceedling test:all

Projekterstellung
Erstellen Sie ein Projekt mit CubeMXErstellen Sie ein Projekt in CubeMX unter
toolchain / ide
SW4STM32.Führen Sie CubeMX im Auftrag des Administrators aus, um ein Projekt im Verzeichnis C: / zu erstellen
Anwendungsstruktur -> erweitert (andernfalls wird das Projekt nicht sofort erfasst).

Wir initialisieren die Einbindung in das Projekt:
cd /
ceedling new test_ceedling
Erstellen wir die folgende Struktur und c./h im Projekt. Dateien, fügen Sie die Pfade zu project.yml hinzu:

Quellspeicherort hinzufügen & enthält Erstellen Sie einen neuen Builder:

Argumente -> Test: alle

Starten
Erstellen Sie ein weiteres Konsolenfenster für Tests:

Schalten Sie es um, um die Ergebnisse des Ceedling Builders anzuzeigen:

Drücken Sie Strg + B und sehen Sie die Testergebnisse in der Konsole:

Peripheriegeräte hinzufügen
Oft hängt das Ergebnis einer Funktion von externen Komponenten ab.
Zusätzlich zum Testgenerierungstool Unity unterstützt Ceedling CMock, einen Generator für Scheinobjekte und Stubs.
Stellen Sie sich vor, unser Taschenrechner berechnet bei der Berechnung der Differenz
a - b
Wenn die Taste gedrückt wird, wird dies anders betrachtet.
b - a
In diesem Fall sehen unsere Tests möglicherweise folgendermaßen aus:

Die Funktion zum Überprüfen des Schaltflächenklicks wurde deklariert, aber nicht implementiert (nicht geschrieben).
Drücken Sie Strg + B und sehen Sie die Testergebnisse in der Konsole:

In diesem Fall haben wir eine Imitation einer Schaltfläche erstellt, an deren Stelle möglicherweise UART, SPI, I2C usw. stehen.
Fazit
Jetzt können Sie mit jeder Anwendungsbaugruppe rechts in der Ecke das Ergebnis der durchgeführten Tests beobachten:
