Тестирование шаблона Builder - PullRequest
6 голосов
/ 01 февраля 2011

Я пытаюсь выполнить модульное тестирование шаблона стиля конструктора, который выглядит следующим образом (mockedObject внедряется в функцию, чтобы я мог его смоделировать):

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

mockedObject.use(thing);

Я пытаюсь понять, какпротестируйте это (используя JUnit и Easymock) без необходимости макетировать весь объект компоновщика.Все, что мне нужно проверить на результирующем объекте, это то, что param1 и param2 были установлены с конкретными значениями.

Извлечение всего шаблона компоновщика сделало бы тест чрезвычайно хрупким, и это не то, что я должен тестироватьдля начала.

Есть ли (лучший) способ проверить это?

1 Ответ

0 голосов
/ 28 февраля 2011

Я пытаюсь понять, как это проверить (используя JUnit и Easymock) без необходимости макетировать весь объект компоновщика. Все, что мне нужно проверить на результирующем объекте, это то, что param1 и param2 были установлены с конкретными значениями.

Макет всего строителя сделает тест чрезвычайно хрупким и это не то, что я должен тестировать для начала.

Какое поведение вы пытаетесь проверить здесь? Если вы проверяете, что строитель строит объект должным образом, вам не стоит над ним издеваться.

Возможно, проблемы станут яснее, если вы опубликуете тестируемый метод и более полный фрагмент тестового кода, но сейчас это совсем не похоже на тест.

...