Как заставить Guice и TestNg играть в стиле a-la-AtUnit - PullRequest
2 голосов
/ 26 ноября 2010

Я использую TestNG для модульных и интеграционных тестов и Guice для DI. Я хотел бы относиться к своим тестовым классам как к другим классам - вместо прямой работы с инжектором я бы лучше определил поля, помеченные @Inject, и вставлял их перед каждым тестом.

Есть ли фреймворк, который это делает? Я считаю, что AtUnit делает что-то похожее, но я не уверен, как это интегрируется с TestNG, и насколько он зрелый.

Ответы [ 3 ]

4 голосов
/ 03 октября 2011

Седрик теперь добавил аннотацию @Guice непосредственно в TestNG, чтобы упростить этот вариант использования.

3 голосов
/ 26 ноября 2010

TestNG использует Guice для внутреннего использования, но также позволяет очень легко вводить тестовые классы до того, как TestNG их увидит (используя Guice или любую другую платформу, которую вы предпочитаете).

Все, что вам нужно сделать, это реализовать IObjectFactory и затем объявляет имя вашего класса при запуске TestNG с параметром -objectfacfory.

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

0 голосов
/ 03 февраля 2014

Пример использования и взаимодействия с группами TestNG.xml приведен в записи моего блога http://biggerwrench.blogspot.com/2014/02/testng-using-guice-for-dependency.html

...