TestNG Тесты не найдены.Ничего не запускалось - PullRequest
0 голосов
/ 03 декабря 2018

Я столкнулся со странной проблемой с моим кодом TestNg.Когда я запускаю класс testng без поставщика данных, мои тесты запускаются успешно и терпят неудачу, что ожидается для меня.Но когда я оставлю своего провайдера данных в классе для этого теста.Testng выдает ошибку: [TestNG] Тесты не найдены.Ничего не было запущено Ниже приведен мой код: Пожалуйста, дайте мне знать решение или предложите, что я делаю неправильно TestNG Версия: 6.14.3

package api.tests;

import org.testng.annotations.Test;
import org.testng.annotations.Test;
import java.io.IOException;
import java.util.HashMap;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.testng.SkipException;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import api.config.Base;
import api.data.xlutility_read;
import api.services.GooglePlace;

public class GoogleAddPlaceTest extends Base {

    public static GooglePlace GP = null;
    public static xlutility_read ER = null;
    public HashMap<String, String> requestMap = null;

    public GoogleAddPlaceTest() throws IOException {
        super();

    }

    @BeforeMethod
    public void Setup() throws IOException {
        GP = new GooglePlace();
        Base.setResources();
        // ER =
    }

    @DataProvider()
    public Object[][] getExcelRows() throws InvalidFormatException, IOException {

        ER = new xlutility_read("D:\\ApiData.xlsx");

        Object[][] object = new Object[ER.getRowCount(1) - 2][1];
        int rNum = 3;
        while (!ER.isRowEmpty(1, rNum) && rNum <= ER.getRowCount(1)) {
            requestMap = new HashMap<>();
            for (int j = 0; j < 1; j++) {

                requestMap = ER.ExcelToHashMap(1, rNum);

            }
            object[rNum - 3][0] = requestMap;
            rNum++;
        }

        ER.closeFile();

        return object;

    }

    @Test(dataProvider = "getExcelRows")
    public void testAddPlaceApi(HashMap<Object, Object> requestMap) throws IOException {
        try {
            ER = new xlutility_read("D:\\ApiData.xlsx");
        } catch (InvalidFormatException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        int testRowNum = ER.getRowNum(1, "testAddPlaceApi", 0);
        if (testRowNum != -1) {
            if (ER.getCellData(1, testRowNum, 1).equalsIgnoreCase("y")) {
                GP.deletePlaceApi(GP.addPlaceApi(GP.jsonAsMap(requestMap)));
            } else {
                throw new SkipException("Test case run Flag is N : So Skipped.");
            }
        }

    }

    @AfterMethod
    public void tearUp() throws IOException {
        Base.freeResources();

    }
}

Ответы [ 2 ]

0 голосов
/ 10 мая 2019

Используете ли вы листы Excel для хранения ваших тестовых данных?Если да, добавьте еще один столбец как Выполнить со значением как Y.

0 голосов
/ 03 декабря 2018

Из документации TestNG :

Метод @Test указывает свой поставщик данных с атрибутом dataProvider.Это имя должно соответствовать методу в том же классе, аннотированному @DataProvider (name = "...") с совпадающим именем.

Таким образом, вы должны привязать метод поставщика данных к методу тестированияпо имени:

@DataProvider(name = "data")
public Object[][] getExcelRows() throws InvalidFormatException, IOException {
   ...
}

и

@Test(dataProvider = "data")
public void testAddPlaceApi(HashMap<Object, Object> requestMap) throws IOException {
   ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...