ユニットテストでオブジェクトをモックアウトするために、次のようにgooglemockを使用しています。std::fstream
TEST_F(SomeTest, SomethingIsDoneCorrectly)
{
class MockFstream : public std::fstream {};
MockFstream lMockFstream;
// Expectations and assertions here
}
コンパイルすると、次の警告が表示されます。
警告1警告C4250:'SomeTest_SomethingIsDoneCorrectly_Test :: TestBody :: MockFstream':継承'std :: basic_istream <_Elem、_Traits> :: std :: basic_istream <_Elem、_Traits> :: _ Add_vtordisp1'
警告2警告C4250:'SomeTest_SomethingIsDoneCorrectly_Test :: TestBody :: MockFstream':継承'std :: basic_ostream <_Elem、_Traits> :: std :: basic_ostream <_Elem、_Traits> :: _ Add_vtordisp2'
クリーンなビルド出力を好むので、これらの特定の警告を抑制したいのですが、クロスプラットフォームのコードを書いているので、コンパイラー固有#pragma
のコードも避けたいと思います。
これらの警告を非表示にするgooglemockオブジェクトでできることはありますか?