Альтернатива nBuilder для Java

Есть ли какой-нибудь инструмент, например nBuilder для java?

Я хочу создать объекты для модульного тестирования, и я не хочу иметь один класс строителя для каждого объекта в моем домене.

В настоящее время я использую mockito, но он не заменяет функциональность nBuilder.

Ответ 1

Вы можете попробовать DataFactory: Сгенерировать тестовые данные с помощью DataFactory

Также я нашел этот проект в коде google, который может быть полезен: Генератор случайных данных

Они не эквивалентны nBuilder, но они пытаются обеспечить аналогичную функциональность той, что предоставляется nBuilder. Это не идеальная замена, но она ближе, чем я мог бы найти.

Надеюсь, что это поможет.

Ответ 2

TestNG имеет @DataProvider и @ Factory.

Ответ 3

Пока вы не строго соглашаетесь с тем, что хотите с nBuilder, я настоятельно рекомендую изучить структуру тестирования Spock. У этого есть очень сильные издевательские и инструменты для высечки, встроенные в него, и одним из величайших преимуществ Spock является тестирование Data Driven.

http://docs.spockframework.org/en/latest/data_driven_testing.html

Я считаю, что тестирование, основанное на данных, является одним из самых эффективных модульных тестов, с которыми я столкнулся, на сегодняшний день. Я не знаю, может ли это напрямую заменить виды вещей, которые может сделать nBuilder, но могу сказать, что мое модульное тестирование гораздо более основательно (и проще для записи) со Spock.

Ответ 4

CodePro JUnit Test Case Generation

Ответ 5

Я не знаком с nBuilder, но похоже, что у меня есть несколько совпадений с QuickBuilder - проект, который я собрал вместе, который генерирует на лету реализации тестовых сборщиков данных на интерфейсы, которые вы поставляете.

https://github.com/hcoles/QuickBuilder

Он имеет некоторую поддержку для создания последовательностей значений, но не генерирует значения для вас, как кажется nBuilder.

Кроме того, аналогичный по функциональности QuickBuilder, но представляющий другой интерфейс, makeiteasy

https://code.google.com/p/make-it-easy/