1

私はこの質問に対する答えを探しているのではなく、それを行う方法の簡単な概要を探しています。これは試験の過去問からの問題です。

NumberCoversionクラスを実装するコードをテストするために使用できる一連のテストを英語で説明してください。テストは、上記の定義で説明されているすべての条件をカバーする必要があります。

クラスの仕様は書きませんが、次のようなものが含まれています。String入力と出力として受け取る必要があり、2 つのパラメーターを受け入れnull、数値が無効な場合は返す必要があります。

質問は 10% の価値があるので、次のような一連のことを書く必要があります。

可能なJUnitテストメソッドを英語/疑似コードで書く価値はありますか?

これは、英語でテスト用に書くのに適した種類のものでしょうか?

4

4 に答える 4

1

テストを書く場合に何をするかを英語で説明してください。通常、それはNumberConversionクラスの使用法です。

于 2012-08-28T19:02:35.127 に答える
1

何が適切であるかの例として...

仕様が次の場合:

  • 文字列を入力として受け取ります
  • 文字列は、任意の大きな負でない整数にすることができます
  • 文字列が負でない整数でない場合、例外がスローされます

それから私はおそらく次の行に沿って何かを答えるでしょう:

  • 入力として「42」を使用してテストし、メソッドが「通常の」数値で機能することを確認します
  • メソッドがエッジケース番号で機能することを確認するために、入力として「0」を使用してテストします
  • 入力として「9223372036854775808」(Long.MAX_VALUE より 1 つ多い) を使用してテストし、メソッドが Java によって提供される固定長整数よりも大きい数値で機能することを確認します。
  • 入力として「-1」を使用してテストし、負の入力が無効であるため、例外がスローされることを確認します
  • 入力として「0xa」を使用してテストし、16 進数の入力が無効であるため、例外がスローされることを確認します。
  • 入力として「0.1」を使用してテストし、非整数入力が無効であるため、例外がスローされることを確認します
于 2012-08-29T13:16:32.827 に答える
1

目標は、質問の各仕様をチェックするテストケースを記述することであると思いますが、言語構造によって制限されるもの (たとえば、引数の数/タイプが間違っているなど) をテストしようとすることも避けます。

于 2012-08-28T18:55:24.927 に答える
1

質問によると、テストを英語で説明する必要があります。JUnit単体テストへのジャンプは、求められている以上のものだと思います。この質問に答えるとしたら、NumberConversionクラスの定義を調べることから始めます。有効な入力を使用するテストと、無効な入力を使用するテストについて説明します。各テストについてNumberConversion、予想されるエラー条件を含め、クラスが予想どおりに動作することを確認する方法を説明します。

于 2012-08-28T19:26:35.417 に答える