2

ほとんどの単体テスト フレームワークでは、アサーションに関連付けるメッセージを指定できます。私はこれらのメッセージをどのように使用するのが最善か確信が持てず、その結果、しばしば一貫性がありません。

例:

// a positive message
assertTrue("sean is cool", sean.isCool());

// a negative message
assertTrue("sean is not cool", sean.isCool());

// an ambiguous message
assertTrue("sean's coolness", sean.isCool());

私は 2 番目の例に傾倒する傾向があり、テストが失敗したときに失敗の原因を示すメッセージが表示されるように、「否定的な」メッセージを提供します。ただし、合格したテストのメッセージを見ると、本質的に誤解を招く可能性があります。「あいまいな」メッセージは、成功したテストと失敗したテストの両方に最も適切ですが、どちらの場合も得られる情報は少なくなります。

これが客観的な質問ではないことはわかっていますが、おそらくどこかで定義された文書化された推奨プラクティスがあるでしょう。

4

2 に答える 2

2

このメッセージは、テストが失敗した場合に使用されることを意図しているため、必要なだけ否定的になることができます。

オプションで、最初のパラメーターは、失敗時に出力される文字列メッセージにすることができます。

[リンク]

于 2013-06-26T18:50:46.757 に答える
2

個人的には、should/must を使用する傾向があります。

assertTrue("sean should be cool", sean.isCool());

これは一般的に私にとって十分です。必要に応じて、さらに説明を追加することもできます

assertTrue("sean should be cool, but is not", sean.isCool());
于 2013-06-27T05:58:52.303 に答える