У меня есть 3 класса тестов java. 1. ListenerTest1.java 2. ListenerTest2.java 3. ListenerMain.javaКак запустить тестовый класс из другого класса java
Над двух классов TestFixture ListenerTest1.java и то есть ListenerTest2.java есть методы испытаний. Кроме того, имея файл build.gradle как: -
task automationTests(type: Test) {
systemProperty 'serviceType', System.properties['serviceType']
useTestNG {
useDefaultListeners = true
suiteXmlBuilder().suite(name: 'Testing case') {
test(name: 'ServiceUITests', annotations: 'JDK', verbose: '1') {
classes([:]) {
'class'(name: 'company.platform.ListenerMain')
}
}
}
}
}
Таким образом, в то время как работает мой Hudson работу, он вызывает задачу automationTests т.е. и работает мой класс ListenerMain. Мне нужно добавить условие if/else в файле класса ListenerMain, которое будет дифференцироваться, чтобы выполнить оба из указанных выше двух классов, упомянутых i.e ListenerTest1.java или ListenerTest2.java, на основе System.property, добавленного в работу hudson.
например
@Listeners(value = {PreconditionListener.class})
public class ListenerMain {
private static String serviceTypeUseParameter ;
private static Logger logger = LogManager.getLogger(ListenerMain .class.getName());
@BeforeClass
//TestNg Annotation
public void setup()
{
//############# Hudson job parameter is serviceType ##########
serviceTypeUseParameter = System.getProperty("serviceType");
if (serviceTypeUseParameter.equals("ListenerTest1Method")){
// Run ListenerTest1 class
}
else{
// Run ListenerTest2 class
}
}
}
Какой код нужно добавить для загрузки класса в соответствии, если/другое состояние? Я могу добавить основной метод в ListenerMain, если это необходимо.
обратитесь к http://junit.sourceforge.net/javadoc/org/junit/runner/JUnitCore.html#runClasses (java.lang.Class ...) – Jobin
Не могли бы вы поделиться ListenerTest1 и ListenerTest2? Какие интерфейсы они реализуют? – juherr
В обоих классах не используются интерфейсы. Его простой класс TestFixture, который состоит из тестовых таблиц (test mtthods) с использованием аннотаций TestNg. –