1

私の NodeUnit テストには、次のようなコードがあります。

exports['aTest'] = function(test){
...
var functionResult = test.doesNotThrow(aFunction(aParam));
...
}

しかし、doesNotThrow(...) の呼び出し後に functionResult が定義されていません なぜ test.doesNotThrow() は関数呼び出しの結果を返さないのですか? それはかなりエレガントでしょう。

4

1 に答える 1

0

ソースコードに示されているように何も返されません。これは、ここAssertionErrorでわかるように、スイートが成功したかどうかを決定するために nodeunit が依存しているためです。

なぜ何かを返したいのですか、どのような戻り値を期待しますか?
ライブラリの目的は、アサーションをテストすることです。値を返すべきではありません。それは、その値で何かを行うための情報を提供することを意味するためです。代わりに、アサーションがスローされたときに、テストが壊れたことを示すコンソール メッセージが表示されます。これは良いアプローチだと思います。

あなたの目標は、何かが壊れたときに通知を受けることであり、何が壊れたのかをライブラリに頼ることであり、詳細を掘り下げることではありません.

于 2013-07-15T15:00:30.807 に答える