Рубрики
Без рубрики

Запуск тестов TestNG из основного метода Java

Тестовые тесты выполняются автоматически, когда мы создаем проект maven. Мы также можем запускать тесты TestNG с помощью плагина Eclipse. Что, если у нас не будет тестирования

Автор оригинала: Pankaj Kumar.

Тестовые тесты выполняются автоматически, когда мы создаем проект maven. Мы также можем запускать тесты TestNG с помощью плагина Eclipse. Что делать, если у нас не установлен плагин TestNG для нашей ИДЕИ, и мы хотим выполнить некоторые конкретные тесты без полной сборки. В этом случае мы также можем запускать тестовые классы TestNG из основного метода java.

Тестирование Тест из основного метода Java

Давайте создадим простой тестовый класс TestNG и прослушиватель TestNG для нашего примера.

package com.journaldev.main;

import org.testng.annotations.Test;

public class Test5 {

	@Test
	public void test() {
		System.out.println("Running test method");
	}
}
package com.journaldev.main;

import org.testng.ISuite;
import org.testng.ISuiteListener;

public class Test5SuiteListener implements ISuiteListener {

	@Override
	public void onStart(ISuite suite) {
		System.out.println("TestNG suite default output directory = "+suite.getOutputDirectory());
		}

	@Override
	public void onFinish(ISuite suite) {
		System.out.println("TestNG invoked methods = " +suite.getAllInvokedMethods());
	}

}

Теперь мы хотим запустить Тест 5 тесты класса, а также добавить Testsuitelistener прослушиватель в ваш набор тестов TestNG. Мы можем легко сделать это с помощью org.testng.TestNG Класс.

package com.journaldev.main;

import org.testng.TestNG;

public class TestNGMainClass {

	public static void main(String[] args) {
		TestNG testSuite = new TestNG();
		testSuite.setTestClasses(new Class[] { Test5.class });
		testSuite.addListener(new Test5SuiteListener());
		testSuite.setDefaultSuiteName("My Test Suite");
		testSuite.setDefaultTestName("My Test");
		testSuite.setOutputDirectory("/Users/pankaj/temp/testng-output");
		testSuite.run();
	}

}

Обратите внимание, что я также изменяю каталог вывода отчетов о тестировании, устанавливаю набор тестов и имя теста.

Просто запустите вышеуказанный класс как java-приложение, и оно должно выдать следующий вывод в консоли.

TestNG suite default output directory = /Users/pankaj/temp/testng-output/My Test Suite
Running test method
TestNG invoked methods = [Test5.test()[pri:0, instance:com.journaldev.main.Test5@314c508a] 827084938]

===============================================
My Test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================

Вы также должны проверить наличие HTML-отчета, сгенерированного вышеуказанной программой, он будет выглядеть примерно так, как показано ниже.

Это все для запуска тестов TestNG из основного метода java.