2009-07-22 5 views
1

へのGrails 1.0.5からのアップグレードコントローラ内のif文で呼び出されたインスタンステストの問題は、私は最近、1.1.1をGrailsのようにアップグレードし、私のアプリケーションが正常に動作している間、私のテストは、いくつかの深刻な問題を抱えている1.1.1

def boolean isParameterized() { 
    return (parameters != null && !parameters.isEmpty()) 
} 

のため、動作していないドメインクラスからメソッドを呼び出すもののように思える、と(ControllerUnitTestCaseを拡張する)コントローラのテストでこれを模擬が作成される

reportDefinitionControl.demand.isParameterized { -> 
    return false 
} 

しかし、私がテストを実行すると、isParameterがtrueになります。なぜなら、パラメータが空であるため、模擬インスタンスにはisParameterが返されてしまうからです。私の統合テストのために

アプリケーションをコンパイルすることはできませんし、私は

[INFO]コンパイルエラーのようなエラーメッセージを取得するように、それはそうです:java.langの:コンパイルは統合テストを実行している
[INFO]エラー失敗しました。 ClassNotFoundExceptionが:project.alert.AlertTypeTests
[警告]にjava.lang.ClassNotFoundException:project.alert.AlertTypeTests

誰でも任意のヒントを得ましたか。

答えて

0

とすると、isParameterReditedがnullであり、クロージャが含まれているためではないと判定される場合があります。

あなたがテストしている:
false == reportDefinitionControl.isParametrized()または
false == reportDefinitionControl.isParametrizedを? { - > falseを返す}

よろしく

+1

かの正確な文は次のとおりです。(!reportDefinitionControl.isParametrized()) 場合 私はグルーヴィーロジックは(if文ではなく、一般的には)同一のヌルと偽の扱いという印象の下にあったが、私はないだろうそれが本当でないなら驚いた。 –

0

は私が

reportDefinitionControl.demand.isParameterized = 'をisParameterized' の後には、おそらく同じ記号が欠けていると思います。

関連する問題