Как запустить тестовую фабрику с затмением? - PullRequest
0 голосов
/ 06 января 2019

Я использую eclipse 2018-09 (4.9.0) с плагином testng (версия 6.14.0.201802161500). Я создал проект Maven, чтобы изучить тестирование из учебников. Я хочу запустить фабричный метод testng в Eclipse, но в меню запуска нет опции «testng». Как мне заставить его работать на заводе?

Мой код:

package com.learn.classes;

import org.testng.annotations.Test;

//run with testng is present for this.
public class SimpleTest {
    @Test
    public void simpleTest() {
        System.out.println("Simple test Method");
    }
}

package com.learn.factory;

import org.testng.annotations.Factory;

import com.learn.classes.SimpleTest;

//run with testng is NOT present for this.
public class SimpleTestFactory {

    @Factory
    public Object[] factoryMethod() {
        return new Object [] {new SimpleTest(), new SimpleTest()};
    }

}

РЕШЕНИЕ: Создайте набор xml для вышеуказанного класса или метода и запустите его с testng.

Ex. myfactory.xml

<suite name="Factorty Methods" verbose="1">
    <test name="My factory method">
        <classes>
            <class name="factory.SimpleTestFactory" />
            <methods>
                <include name="factoryMethod" />
            </methods>
        </classes>
    </test>
</suite>

1 Ответ

0 голосов
/ 11 января 2019

Причина, по которой вы видите это поведение, заключается в том, что плагин TestNG eclipse ищет любые тестовые методы (по крайней мере, один метод с аннотацией @Test) в классе, прежде чем включить эту контекстную опцию с помощью щелчка правой кнопкой мыши.

В случае фабрики (например, как выглядит пример кода для SimpleTestFactory), нет методов тестирования. Вот почему он отключает опцию Run As > TestNG test.

Таким образом, одна из альтернатив для этого заключается в создании XML-файла комплекта, добавлении ссылки на SimpleTestFactory и последующем запуске его через файл комплекта.

Вы также можете подать проблему на странице github плагина eclipse TestNG и спросить, можно ли это исправить.

В идеале аннотированный метод @Factory также может рассматриваться как отправная точка. Я не знаю, насколько это возможно.

Я знаю, что IntelliJ может это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...