Pregunta

Quiero verificar el comportamiento de un método probando una variable protegida de un objeto asignado.Por lo tanto, quiero inyectar un objeto simulado para este objeto asignado.Mi problema es que este objeto se crea durante este método y no se le da a través de un parámetro.

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

Este método debe crear un ajuste de configuración, cambie una variable protegida en ello en el método protegido buildconfiguroporcolor (...) y asigne el objeto a una composición de mapeo.Quiero verificar la variable protegida en ConfigurationForColor.

¿Puedo usar Google Mock para cambiar el tipo de ConfigurationForColor a un objeto simulado? ¿O es su otra posibilidad de probar la variable protegida?

¿Fue útil?

Solución

Suena como si necesitas algún tipo de inversión de control .

Para eso, sería bueno crear una fábrica, que devuelve objetos de tipo de mappingConfiguration (ya sea simulaciones o objetos reales).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top