2

割り当てられたオブジェクトの保護された変数をテストして、メソッドの動作を確認したいと思います。したがって、この割り当てられたオブジェクトにモックオブジェクトを注入したいと思います。私の問題は、このオブジェクトがこのメソッドの間に作成され、パラメーターを介して与えられないことです。

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

このメソッドは、ConfigurationForColorを作成し、保護されたメソッドbuildConfigurationForColor(...)で保護された変数を変更し、オブジェクトをMappingConfigurationに割り当てる必要があります。configurationForColorで保護された変数を確認したいと思います。

Google Mockを使用してconfigurationForColorのタイプをモックオブジェクトに変更できますか?または、保護された変数をテストする別の可能性はありますか?

4

1 に答える 1

0

ある種の制御の反転が必要なようです。

そのためには、MappingConfigurationタイプのオブジェクト(モックまたは実オブジェクト)を返すファクトリを作成するとよいでしょう。

于 2012-03-13T10:44:00.560 に答える