Използване на Surefire за изпълнение на TestNG/Selenium тестове в буркан

Нашият проект има набор от тестове за Selenium, които в момента опаковаме в буркан с намерението Дженкинс да изпълни тестовете като стъпка на изграждане. Ние инсталираме буркана в локалното хранилище на клиентска виртуална машина, която е конфигурирана да има Selenium точка обратно към Jenkins като хост. Проблемът, с който се сблъскваме, е да измислим начин да накараме Maven/SureFire да намери тестовете Selenium/TestNG в буркана, който инсталирахме. Имаме pom с всички зависимости, които тестовете изискват от клиента, включително самия буркан с тестове, но когато стартираме "mvn test", не се намират тестове. Явно пропускаме нещо тук, някакви идеи? Благодаря.


person mreynolds0404    schedule 06.08.2014    source източник
comment
Би било много по-добре да създадете testng.xml файл със списъка на вашите тестове. Surefire е наивен и недостатъчен за разпознаване на тестове. Нека TestNG наистина ги намери.   -  person Bob Dalgleish    schedule 06.08.2014


Отговори (2)


surefire по подразбиране търси имена на файлове като Test*.java, *Test.java, *TestCase.java и ги изпълнява. ако вашият тест не следва някой от тези модели, тогава трябва да ги включите изрично. вижте тук

person M.Faizal    schedule 06.08.2014
comment
За съжаление TestNG не можа да сканира изходния .jar файл. Хм. Може би има начин. - person djangofan; 06.08.2014
comment
TestNG сканира всички файлове в буркана, търсейки @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.

person Himanshu    schedule 13.08.2014