Моя версия JDK — 1.8
, Surefire — 2.22.2
, Maven — 3.6.3
. Я использую аннотации junit и spring.
Когда я пытаюсь запустить свои тесты с помощью команды mavn test
, я не получаю ошибок, я получаю успешную сборку и не запускаются случаи.
Запуск testCases.TestLogin Настройка TestNG с помощью: org.apache.maven.surefire.testng.conf.TestNG652Configurator@7bb11784 Запуск тестов: 0, сбоев: 0, ошибок: 0, пропущено: 0, истекшее время: 0,808 с
Когда я запускаю класс с помощью средства запуска пользовательского интерфейса IntelIJ, случаи выполняются правильно. Имя моего класса начинается с Test*
. Вот мой тестовый код.
package testCases; import appium.AppiumController; import org.junit.*; import org.springframework.context.annotation.Description; import screens.HomeScreen; import screens.LoginScreen; public class TestLogin extends AppiumController { protected static LoginScreen loginScreen; protected static HomeScreen homeScreen; @BeforeClass public static void setUp() throws Exception { startAppium(); loginScreen = new LoginScreen(driver, wait); homeScreen = new HomeScreen(driver, wait); } @After public void afterEach() { loginScreen.appReset(); } @Test @Description("Verify user can login with valid credentials") public void validLoginTest() throws Exception { loginScreen.login("admin", "admin"); Assert.assertTrue("Home screen is not visible\n", homeScreen.isHomeScreenVisible()); } @Test @Description("Verify user can not login with invalid credentials") public void invalidLoginTest() throws Exception { loginScreen.login("admin1", "admin1"); Assert.assertFalse("Home screen is visible\n", homeScreen.isHomeScreenVisible()); } @AfterClass public static void tearDown() throws Exception { stopAppium(); }
В чем проблема и как я могу запустить тестовые случаи с помощью командной строки?
@khmarbaise Обновил вопросы в соответствии с вашим комментарием. Я хотел бы заметить, что я не получаю никаких ошибок. Спасибо.
Во-первых, опубликуйте полный класс, а не выдержки... во-вторых, вы используете TestNG, JUnit 4.X или JUnit Jupiter? Также поможет полный файл pom...
Я использую JUnit 4.12
Ваше утверждение противоречит тому, что говорит сообщение об ошибке: Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configu
...
У вас могут быть зависимости TestNg и Junit в POM.xml.
В соответствии с документацией плагина maven-surefire-plugin для TestNg. Возможно, вы захотите запустить двух провайдеров, например. surefire-junit47 и surefire-testng, а также избегайте выполнения тестов JUnit в провайдере surefire-testng, установив свойство junit=false.
Документация Ссылка - Раздел «Запуск тестов TestNG и JUnit»
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<properties>
<property>
<name>junit</name>
<value>false</value>
</property>
</properties>
<threadCount>1</threadCount>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>3.0.0-M5</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-testng</artifactId>
<version>3.0.0-M5</version>
</dependency>
</dependencies>
</plugin>
Спасибо большое! Мне нужно было использовать плагин surefire-junit47!
Следуйте соглашениям об именах и именуйте тесты, такие как
*Test.java
.. кроме того, классы должны начинаться с символа верхнего регистра ... Вывод ошибки не выглядит так .. Пожалуйста, покажите полный пример вашего тестового класса. Где вы разместили свой класс и т. д. и какую версию Maven, версию JDK, версии maven-surefire-plugin и т. д. вы используете?...