0

いくつかのコードがあり、そのテスト メソッドを作成する必要があります。

たとえば、ファイルを開く Open メソッドがあります。ただし、内部に FileNotFOundException をスローするコードはありません。不適切なファイル名を入力すると、COMException が発生します。COMException をキャッチするためのテストを行うべきですか、それとも FileNotFoundException をキャッチするためのテストを行うべきでしょうか? もちろん、テストは失敗します。この方向でテストを構築する方法がわかりません。テスト駆動開発は論理的に見えますが、逆にどうすればよいのでしょうか?

4

2 に答える 2

2

持っているコードに合わせてテストを調整する必要はないと思います-必要なユースケースをテストする必要があると思います。コードはどのような条件で成功し、どのような条件で失敗し、何をすべきか。これらがわかったら、テスト コードを記述して単体テストを実行します。

あなたが述べた例では、ファイルが常に存在する場合、ファイルが見つからないことを確認する理由はありませんが、ファイルが表示されない場合がある場合、何が起こるか(コードを見ないでください-見てください要件で)、それが実際に起こることを確認するテストを書きます。

もちろん、コードのユースケースをカバーする多くのテストでコードが失敗することに気付くかもしれません。ここで、不一致を管理します。

于 2013-10-17T09:10:27.420 に答える
0

両方をテストして、FileNotFoundException を返すようにコードを変更できるかどうかを確認する必要があります。

于 2013-10-17T09:08:45.160 に答える