用ファイルのオープン故障を発生させるためにどのように、私はWindows 7の完全性のためにユニットテスト
下のVisual Studio 2012でC++を使用しています私は、コードを読んで、いくつかの基本的なファイルがあります:
は、クラスで定義されている:
を問題のstd::ifstream iniFileHandle;
方法:
FileLoader::FILE_STATUS FileLoader::loadFile(const std::string& fullpathandfilename)
{
if (fullpathandfilename.empty())
{
iniFileStatus = FILE_NOT_SPECIFIED;
}
else // parameter has 'something'...
{
if (!doesFileExist(fullpathandfilename))
{
iniFileStatus = FILE_NOT_FOUND;
}
else // file found...
{
iniFileHandle.open(fullpathandfilename, std::ios::in);
if (!iniFileHandle.is_open()) // something went wrong
{
iniFileStatus = FILE_CANNOT_LOAD; // <== HOW TO TEST?
}
else // file opened!
{
iniFileStatus = FILE_OPEN;
}
}
}
return iniFileStatus;
}
このすべてが正常に動作しますが、私は難易度のgettinを抱えていますGoogleユニットテストでのカバレッジ
私が欠けているのは、is_open()
が失敗するシナリオをシミュレート/作成する方法です。
は、私が試してみた:読み
- は
- 「exeファイル」というファイルを、現在別のアプリケーション で開かれ
- ファイルを実行しますが、それらはすべてオープン。
このエラー条件は実際に発生する可能性がありますか?もしそうなら、どのように私はそれをテストすることができます失敗を模倣することができますか?
はあなたが読むためのディレクトリを開いてみましたが?これはエラーを引き起こすはずですか? – silvergasp