ユーザー入力に依存するモジュールのセルフテストを作成しても問題ありませんか?それとも、ユーザーが入力を間違える可能性が非常に高いため、通常は実行されませんか?
編集:
Hello World
ユーザーが を押したときに戻る関数があるとします— 次に、間違ったキーを押した場合の結果をテストする前に、が押された場合にup_key
関数が本当に戻るかどうかをテストしたいと思います。Hello World
up_key
ユーザー入力に依存するモジュールのセルフテストを作成しても問題ありませんか?それとも、ユーザーが入力を間違える可能性が非常に高いため、通常は実行されませんか?
編集:
Hello World
ユーザーが を押したときに戻る関数があるとします— 次に、間違ったキーを押した場合の結果をテストする前に、が押された場合にup_key
関数が本当に戻るかどうかをテストしたいと思います。Hello World
up_key
「ユーザーがミスをする」という理由で部分的に入力が必要なユニットのテストを書くのは普通のことです。有効な入力と無効な入力の違いを判断する必要があります。ユニット/モジュールは、有効な入力に対して正しいことを行うことだけでなく、無効な入力に対して正しいことを行うこと (たとえば、それを認識して適切なエラーを返すこと) を確認するためにテストする必要があります。
つまり、テストの一部は、無効な入力を意図的にフィードする必要があります。
通常、ユーザー入力は、メイン アプリケーションに接続されたブラック ボックスのようなものだと考えています。テストするとき、このブラック ボックスは実際には非常に簡単にモック オブジェクトに置き換えることができます。次に、このオブジェクトのプロパティがテスト パラメータとして使用されます。
ところで、間違った入力もどうにか処理しないのですか?)