Dans mon implémentation actuelle j'ai 2 fichiers (je suis coincé et ne pas obtenir plus loin)Design for situation suivante ayant gtest procédure
//firstFile.cpp
class first
{
//some object of xyz class
};
first f; //global
TEST(Suite, Testcase
{
//do something
}
//secondFile.cpp
class second
{
public:
//some data members
void function()
}
Tâche: - Je veux appeler Test (considérer une fonction spéciale, quand il est appelé, objet de premier (ie objet global défini sera créé.) Dans le test je veux enregistrer quelques données pour le dernier traitement, que évidemment je ne peux pas faire en première classe car il sera initialisé sur chaque appel de TEST.
Problème: - Je pensais avoir une classe distincte (dans un autre fichier .cpp) qui nécessitait la sauvegarde de la structure de données. Ata structure dans la procédure TEST et continuer à ajouter les données sur les données précédentes avec chaque appel TEST. Je ne peux pas avoir un objet pour la deuxième classe dans firstFile.cpp car il sera également créé/détruit à chaque appel.
Une suggestion? Aussi je ne peux rien faire à propos de la procédure TEST, c'est comme ça.
Si vous avez déjà développé beaucoup de routines de support à utiliser avec'Installation() 'et' TearDown() 'méthodes, ne sera pas la solution ci-dessus nécessitent ce qui les rend aussi statique afin d'utiliser ces fonctions? En effet, ce n'est pas une solution pratique IMO. Je n'arrive toujours pas à comprendre pourquoi GTest inclut les méthodes 'SetUp()' et 'TearDown()' qui reflètent les fonctionnalités de Constructor et Destructor. Dans un monde élégant, le Constructeur et le Destructeur auraient pu servir le but statique setUpTestCase() et le vide statique TearDownTestCase() en initialisant toutes les ressources communes à tous les cas de test. – Sampath