3

単体テストを設定する方法は、ユーザーが実行可能ファイルを実行し、使用するデータセットを選択できるようにすることです。この情報はapp.configに保存されますが、Gallio Icarusで単体テストを実行しているときにapp.configにアクセスしようとすると、機能しません。

編集:アプリケーションプロパティにバインドするフィールドを取得しましたが、呼び出すProperties.Settings.Default.Save();と何も実行されないようです。app.exe.configは変更されず、変更は保持されません。

4

2 に答える 2

3

アプリの設定の読み方をモックします。

アプリで、app.configファイルからデータを取得するインターフェースとクラスを記述します。テストでは、毎回既知の出力を返すダミーオブジェクトにインターフェイスを実装します。

テストするクラスは、インターフェースを実装するオブジェクトであるパラメーター(ctorまたはその他)を受け取る必要があります。

実際のコードでは、これはapp.configから読み取る実際のオブジェクトになります。

テストでは、ダミーオブジェクトになります。

于 2010-08-04T12:24:11.443 に答える
2

app.configMyProgramme.exe.configプログラムが起動時に読み取るファイルに対応するファイルです。これには、名前空間とアセンブリのConfigurationオブジェクトを介してアクセスできます。System.Configuration

Properties.Settings.Defaultuser.config呼び出したときにプログラムが生成するファイルに対応しますProperties.Settings.Default.Save()

したがって、app.configファイルをテストに含めても影響はありませんProperties.Settings.Default

詳細については、設定の使用を参照してください。

于 2010-08-05T07:08:13.520 に答える