2

趣味のプロジェクトとして、私は小さなBashユニットテストフレームワークを開発しています。基本機能が実装されたので、次のステップはそのテストを作成することです。

しかし、フレームワーク自体を使用してフレームワークをテストするにはどうすればよいですか?

私はこの質問に対する答えをグーグルで検索しようとしましたが、この主題について何も見つけることができませんでした。

私がこれまでに思いついたアイデアは、テストフレームワーク自体のすべての機能を利用するいくつかの些細なことのテストを書くことです。テストがすべて緑色の場合は、問題ありません。これらの基本的なテストは、ある種のドキュメントとしても役立ちます。

しかし、これが実際に良いアプローチであるかどうかはわかりません。

4

1 に答える 1

2

問題は、テストが失敗する可能性があることをテストすることです。ユニットテストはすべて「グリーン」である必要があります。したがって、それが正しいことを証明するのに失敗する必要があるいくつかのテストを選択することはオプションではありません。

解決策は静かなテクノロジーベースになると思います。「テストフレームワークのユニットテスト」について一般的なアドバイスを与えるのは難しいです。フレームワークに属する部分はどれですか?単体テストを含むファイルを読み取る部分、それらを実行する部分、レポートを書き込む部分、assertsなどのヘルパーのライブラリ...?

これらのパーツを分割して、単独で実行できるようにする必要があります。その後、他のテストと違いはありません。

おそらく、単体テスト内でテストランナー全体を実行する方法を見つけるでしょう。これは、単体テストではなく、統合テストです。この種のテストは、通常は非常に複雑であるため、メンテナンスの問題になる可能性があります。ファイルシステムや、単体テストでは使用しないオペレーティングシステムの他のものを使用してください。これが努力する価値があるかどうかを検討してください。

テストできない部分は常にあります。すべてをまとめて、実際の環境でアプリケーション(それが何であれ)を実行する部分。ここに違いはありません。一部の「エンドユーザー環境」は「グリーン」テストでテストできるため、さらに簡単です。

于 2012-11-19T07:16:18.573 に答える