1

私は、100%のテストカバレッジを持ち、すべての可能性をカバーするために、数値変換の単体テストを適切に作成する方法を見つけようとしています。

たとえば、整数をローマ数字に変換する関数があるとします。1から3999まで動作します:

function integerToRoman(integer) { ... }

実際に機能することを確認するにはどうすればよいですか?1から3999までのすべての数値に対して4000の単体テストを作成することは、適切なオプションとは思えません。一方、乱数をいくつか選んでテストを書くだけでは、関数が機能していることを100%確信することはできません。

4

1 に答える 1

1

100%のカバレッジは、すべての可能な入力値をテストすることを意味するわけではありません。しかし、それはあなたを意味します:

  1. すべての機能ラインをテストでカバーする
  2. テストの通常の(一般的な)入力値でカバーします(すべてが可能というわけではありませんが、処理が異なる場合は異なる範囲から)
  3. あなたが考えることができるすべてのエッジケースをカバーする
  4. さまざまな無効な入力値をカバーします(入力値なしも含む)

それでおしまい。

于 2012-09-11T21:00:22.170 に答える