Нашият проект има набор от тестове за Selenium, които в момента опаковаме в буркан с намерението Дженкинс да изпълни тестовете като стъпка на изграждане. Ние инсталираме буркана в локалното хранилище на клиентска виртуална машина, която е конфигурирана да има Selenium точка обратно към Jenkins като хост. Проблемът, с който се сблъскваме, е да измислим начин да накараме Maven/SureFire да намери тестовете Selenium/TestNG в буркана, който инсталирахме. Имаме pom с всички зависимости, които тестовете изискват от клиента, включително самия буркан с тестове, но когато стартираме "mvn test", не се намират тестове. Явно пропускаме нещо тук, някакви идеи? Благодаря.
Използване на Surefire за изпълнение на TestNG/Selenium тестове в буркан
Отговори (2)
surefire по подразбиране търси имена на файлове като Test*.java, *Test.java, *TestCase.java и ги изпълнява. ако вашият тест не следва някой от тези модели, тогава трябва да ги включите изрично. вижте тук
@Test
анотации. Surefire не; той използва по-малко гъвкавия метод JUnit.
- person Bob Dalgleish; 13.08.2014
Създайте основен метод, извикващ основния метод testNG, и предайте основните си методи args[] на основния метод testNG. Сега вашият тестов буркан ще има основен метод за задействане на тестови случаи по ваше желание. Можете да подадете същите параметри като TestNG към вашия jar файл като testng.xml файл или -testClass classapath и т.н... вижте примера по-долу.
public static void main(String args[])
{
org.testng.TestNG.main(arg);
}
сега просто трябва да създадете xml файл с тестови класове и в jenkins да използвате пакетна команда на windows, за да извикате вашия jar файл на отдалечена машина с необходимите параметри testNG.
testng.xml
файл със списъка на вашите тестове. Surefire е наивен и недостатъчен за разпознаване на тестове. Нека TestNG наистина ги намери. - person Bob Dalgleish   schedule 06.08.2014