Comment changer le type d'un objet attribué avec Google Mock?
-
13-12-2019 - |
Question
Je veux vérifier le comportement d'une méthode en testant une variable protégée d'un objet attribué.Par conséquent, je veux injecter un faux objet à cet objet assigné.Mon problème est que cet objet est créé lors de cette méthode et n'est pas donné à un groupe de paramètres.
bool MappingConfigurationBuilder::buildMappingConfiguration(MappingConfiguration*& mappingConfiguration)
{
...
ConfigurationForColor configurationForColor;
buildConfigurationForColor(configurationForColor);
mappingConfiguration = new MappingConfiguration(configurationForHeight, configurationForColor);
...
return true;
}
Cette méthode doit créer un configurationForColor, modifier une variable protégée sur celle-ci dans la méthode protégée BuildConfigurationForColor (...) et attribuer l'objet à une cartographieConfiguration.Je veux vérifier la variable protégée sur ConfigurationForColor.
Puis-je utiliser Google Mock pour modifier le type de configurationForColor vers un objet moqueur? Ou est-il une autre possibilité de tester la variable protégée?
La solution
On dirait que vous avez besoin d'une sorte de Inversion du contrôle .
Pour cela, il serait bon de créer une usine, qui renvoie des objets de type MappingConfiguration (mot moqueurs ou objets réels).