У меня есть тест A, который программно запускает еще один тест B, а тест A проходит только в том случае, если тест B терпит неудачу. Я хочу, чтобы сборка была успешной только тогда, когда проходит тест A.Тестирование TestNG-слушатели
Точно, я внедрил слушателя TestNG (MyListener
). Мне нужно проверить, правильно ли он обрабатывает результаты неудачных тестов. Единственный подход к тестированию, по-видимому, имеет тест A (testListener
), который запускает другой тест B (AlwaysFailingTest
) programmatically и проверяет результаты.
@Test
public void testListener() {
System.setProperty("knownBugs", "execute");
tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setTestClasses(new Class[]{AlwaysFailingTest.class});
testng.addListener(tla);
testng.addListener(new MyListener());
testng.run();
assertThat(tla.getSkippedTests().size(), equalTo(0));
assertThat(tla.getFailedTests().size(), equalTo(1));
assertThat(tla.getPassedTests().size(), equalTo(0));
}
Однако, я не хочу, чтобы тест не срабатывал, чтобы повлиять на результаты тестирования моей библиотеки. В настоящее время для mvn clean test
это так:
Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.407 sec <<< FAILURE!
shouldAlwaysFail(com.testing.listeners.MyListenerTest$AlwaysFailingTest) Time elapsed: 0.01 sec <<< FAILURE!
java.lang.AssertionError: Failing as always
at org.testng.Assert.fail(Assert.java:94)
at com.testing.listeners.MyListenerTest$AlwaysFailingTest.shouldAlwaysFail(MyListenerTest.java:99)
testListener()
метод проходит, это замечательно, но почему результаты AlwaysFailingTest
появляются в результатах тестирования библиотеки, я не понимаю. Как я могу избежать этого?
Я перечислил полный код MyListener
и MyListenerTest
here.
Не могли бы вы поделиться более полным примером (через сущность?)? Трудно следовать. – juherr
@juherr: Спасибо. Я перечислил полный код 'MyListener' и' MyListenerTest' здесь: https://gist.github.com/dzieciou/1addcc19e0d465afa3e8 – dzieciou
Вы должны посмотреть на arquillian-Governor http://arquillian.org/blog/2015/12/13/arquillian-Governor-1-0-1-Final/ – juherr