Domanda

Voglio controllare il comportamento di un metodo testando una variabile protetta di un oggetto assegnato.Pertanto, voglio iniettare un oggetto finto per questo oggetto assegnato.Il mio problema è che questo oggetto viene creato durante questo metodo e non viene fornito attraverso un parametro.

bool MappingConfigurationBuilder::buildMappingConfiguration(MappingConfiguration*& mappingConfiguration)
{
  ...
  ConfigurationForColor configurationForColor;
  buildConfigurationForColor(configurationForColor);
  mappingConfiguration = new MappingConfiguration(configurationForHeight, configurationForColor);
  ...
  return true;
}
.

Questo metodo dovrebbe creare un ConfigurationForColor, modificare una variabile protetta su di esso nel metodo protetto BuildConfigurationforColor (...) e assegnare l'oggetto a una configurazione della mappatura.Voglio controllare la variabile protetta su ConfigurationForColor.

Posso usare Google Mock per cambiare il tipo di ConfigurationForColore a un oggetto finto? O è la loro altra possibilità di testare la variabile protetta?

È stato utile?

Soluzione

Sembra che tu abbia bisogno di una specie di inversione del controllo .

Per questo, sarebbe bello creare una fabbrica, che restituisce oggetti di tipo di mappingConfigurazione (in merito o oggetti reali).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top