Cmockery ist eine leichte Bibliothek, mit der C -Unit -Tests Autor -C -Tests vergeben werden.
Cmockery-Tests werden in eigenständige ausführbare und mit der Cmockery-Bibliothek, der Standard-C-Bibliothek und des zu testeten Moduls zusammengestellt. Alle Symbole, die außerhalb des getesteten Moduls extern sind, sollten verspottet werden - ersetzt durch Funktionen, die durch den Test ermittelt werden - innerhalb der Testanwendung. Obwohl möglicherweise signifikante Unterschiede zwischen der Zielausführungsumgebung eines Codemoduls und der zum Testen des Code verwendeten Umgebung bestehen können, ist die Unit -Tests weiterhin gültig, da ihr Ziel darin besteht, die Logik eines Codemodule auf funktionaler Ebene zu testen und nicht unbedingt alle seine Interaktionen mit der Zielausführungsumgebung.
Es ist möglicherweise nicht möglich, ein Modul ohne Änderung in eine Testanwendung zusammenzustellen. Daher sollte das Präprozessor -Symbol UNIT_TESTING definiert werden, wenn Cmockery -Unit -Testanwendungen kompiliert werden, sodass der Code innerhalb des Moduls für Tests bedingt kompiliert werden kann.
Detailliertere Informationen über die Mechanik des Schreibens von Tests mit Cmockery finden Sie in docs/user_guide.md .
Um die Cmockery -Bibliothek und die Beispielanwendungen unter Linux zu kompilieren, rennen Sie:
$ ./configure
$ make
Um unter Windows zu kompilieren, führen Sie aus:
> vsvars.bat
> cd windows
> nmake
Dieser Code wurde unter Linux (Ubuntu) und Windows unter Verwendung von VC ++ 7 und VC ++ 8 getestet.
Es stehen eine Vielzahl von C -Unit -Test -Frameworks zur Verfügung. Viele von ihnen sind jedoch ziemlich komplex und erfordern die neueste Compiler -Technologie. Eine gewisse Entwicklung erfordert die Verwendung alter Compiler, was es schwierig macht, einige Unit -Test -Frameworks zu verwenden. Darüber hinaus gehen viele Unit -Tests -Frameworks davon aus, dass der getestete Code eine Anwendung oder ein Modul ist, das auf dieselbe Plattform abzielt, die letztendlich den Test ausführt. Aufgrund dieser Annahme erfordern viele Frameworks die Einbeziehung von Standard -C -Bibliotheksüberschriften in das zu testende Codemodul, die möglicherweise mit der benutzerdefinierten oder unvollständigen Implementierung der vom testeten Code verwendeten C -Bibliothek kollidieren.
Cmockery erfordert nur eine Testanwendung, die mit der Standard -C -Bibliothek verknüpft ist, die Konflikte mit Standard -C -Bibliotheksüberschriften minimiert. Außerdem vermeiden Cmockery die Verwendung einiger neuerer Merkmale von C -Compilern.
Dies führt dazu, dass Cmockery eine relativ kleine Bibliothek ist, mit der eine Vielzahl von exotischen Code getestet werden kann. Wenn ein Entwickler einfach eine Anwendung mit dem neuesten Compiler testen möchte, können andere Rahmenbedingungen für Unit -Tests vorzuziehen sein.
Wenn Sie Fragen zu Cmockery haben, verwenden Sie die folgenden Ressourcen:
Stapelüberlauf: Verwenden Sie das cmockery -Tag
Mailingliste: cmockery (at) GoogleGroups.com (Archive)
Verwenden Sie die Web -Benutzeroberfläche, um sich einem Google -Konto anzuschließen. Senden Sie eine E -Mail an:
Cmockery ist unter der Apache 2.0 -Lizenz lizenziert. Weitere Informationen finden Sie LICENSE.txt .