3

ファイルの読み取り操作を単体テストしようとしています。このシナリオでは、特定のユーザーが読み取りアクセス権を持っていない場合、例外を取得する必要があることも確認する必要があります...

しかし、どういうわけか私はそれを機能させることができません、誰かが何かを提案できますか?

PS:私はRhinoモックとNUnitを使用しています

4

3 に答える 3

2

Rhino.Mocksの「Do」拡張機能を使用して特定の例外をスローできます。

public delegate void ThrowExceptionDelegate();
mystub.Stub(x => x.ReadFile()).Do(new ThrowExceptionDelegate(delegate()
    { throw new IOException(); }
    ));

これにより、例外処理コードをテストできます。

于 2009-12-03T18:36:13.930 に答える
1

ファイルを読み取る代わりに、実際にファイルを読み取る代わりに例外をスローするモックを使用するテストを実施する必要があります。次に、適切な処理がトリガーされ、正常に動作することを確認できます。

より良い答えが必要な場合は、クラスの例と、これまでに作成したテストの骨組みを示す必要があります。

于 2009-12-03T16:44:46.460 に答える
1

私は適切な検収試験に行きます-モックを使いすぎると少し危険かもしれません。この場合、とにかくプログラムでファイルのパーミッションを設定+設定解除するのは簡単です。

私は同様の問題を抱えていました-パーミッションの問題をテストしたかった+ファイルパーミッションをいじくり回すためにライブラリAPIをラップする次のヘルパークラスを思いついた

すべてのユーザーのc:\ program files \ company \ app\fileのファイル権限を設定します

于 2012-03-26T16:09:30.747 に答える