ich habe ein simples Beispielprojekt, welches nichts anderes macht, als Tastatureingaben einzulesen und direkt auszugeben.
Meine Frage ist, wie ich dann an diesem Beispiel Unit Tests durchführe, die die gegebenen Klassen testen, ohne dass ich selber alle Eingaben vornehmen muss. Normalerweise würde zum testen der Klasse Controller ja die Klasse KeyboardReader ersetzt, sodass die Werte die zurück gegeben werden, nicht von der Tastatur eingelsen werden müssen. Aslo wie gehe ich da jetzt am besten vor?
Leider habe ich noch keine Erfahrungen mit Unit Tests und die Beispiele von Qt kann ich hierauf nicht umsetzen.
Ich hoffe man kann mich verstehen...
Das Beispiel ist zwar in der Praxis unsinnig, aber einfach
Main erzeugt und startet die Controller und dort läuft eine Schleife, die aus der Klasse KeyboardReader die Tastatureingaben einliest und ausgibt, es. Wird a gedrückt, wird das Prog hart beendet.
Hier die Klassen:
main.cpp
Code: Alles auswählen
#include <QtCore/QCoreApplication>
#include "controller.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Controller c;
c.startController();
return a.exec();
}
Code: Alles auswählen
#include "keyboardreader.h"
KeyboardReader::KeyboardReader()
{
}
QString KeyboardReader::readFromKeyboard()
{
string sVal;
cin >> sVal;
return QString(sVal.c_str());
}
Code: Alles auswählen
#include "controller.h"
Controller::Controller()
{
}
void Controller::startController()
{
while(1)
{
QString val = kr.readFromKeyboard();
if(val.compare("a")==0)
{
break;
}
qDebug() << val;
}
exit(1);
}
Gruß
Markus