2011-02-01 3 views
4

私は(mockedObjectがそのように私はそれを模擬できる機能の中に注入された)ユニットテストに次のようになりますビルダーのスタイルパターンをしようとしているテストBuilderパターン

Thing thing = 
    mockedObject.createThing() 
    .addParam1() 
    .addParam2(mockedObject.createParam2() 
        .someData() 
        .build()) 
    .build(); 

mockedObject.use(thing); 

私が動作するようにしようとしていますビルダーオブジェクト全体を模擬しなくても、これを(JUnitとEasymockを使って)テストする方法。結果オブジェクトのテストに必要なのは、param1param2に特定の値が設定されていることだけです。

ビルダーパターン全体をモックアウトすると、テストが非常に脆くなり、最初にテストするべきものではありません。

これをテストするには(より良い)方法がありますか?

答えて

0

ビルダーオブジェクト全体を模擬しなくても、これをテストする方法(JUnitとEasymockを使用)を試してみようとしています。結果として得られるオブジェクトをテストするために必要なことは、param1とparam2が特定の値で設定されていることです。全体Builderパターン をモック

は私がで開始する をテストすべきか テストは非常に脆く、そのではないでしょう。

正確にはどのような動作ですか?です。ここでテストしようとしていますか?ビルダーがオブジェクトを適切に構築していることをテストしている場合、ビルダーはあなたが嘲笑すべきものではありません。

おそらく、テストしているメソッドとより完全なビットのテストコードを投稿すれば、問題はより明確になりますが、今はテストのようには見えません。

+0

私はmockedObject.use()が、特定のプロパティが設定されたオブジェクトで呼び出されたことをテストしようとしています。残念ながら、mockedObjectもビルダーです。私はすでにビルダーのテストをしていますが、私が心配しているのは、この機能で特定のプロパティが設定されていることだけです。 – laurencer

+0

残念ながらmockedObjectもビルダーです...なぜですか?ビルダーは単にビルダーでなければならず、このuse()メソッドは他の場所に属するようです。 –

関連する問題