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

Как запустить модульный тест с помощью Maven

– Как запустить модульный тест с помощью Maven

Вы можете использовать mvn-тест для запуска модульного теста в Maven. Несколько примеров:

# Run all the unit test classes.
$ mvn test

# Run a single test class.
$ mvn -Dtest=TestApp1 test

# Run multiple test classes.
$ mvn -Dtest=TestApp1,TestApp2 test

# Run a single test method from a test class.
$ mvn -Dtest=TestApp1#methodname test

# Run all test methods that match pattern 'testHello*' from a test class.
$ mvn -Dtest=TestApp1#testHello* test

# Run all test methods match pattern 'testHello*' and 'testMagic*' from a test class.
$ mvn -Dtest=TestApp1#testHello*+testMagic* test

Плагин по умолчанию maven-surefire-plugin устарел, убедитесь, что обновлен до последней версии для поддержки новых функций, таких как сопоставление с образцом или запуск одного метода тестирования и т. Д.

	
        

            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.22.0
            

        
    

1. Проект Maven Java

Просмотрите простой проект Java, как запускать классы модульного тестирования в Maven.

1.1 Структура каталогов.

1.2 Maven + JUnit 5 примеров.




    4.0.0
    com.mkyong.examples
    maven-unit-test
    jar
    1.0-SNAPSHOT

    
        
        UTF-8
        1.8
        1.8
    

    

        
        
            org.junit.jupiter
            junit-jupiter-engine
            5.3.1
            test
        

    
    
        maven-unit-test
        

            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.22.0
            

        
    


1.3 Два класса Java, позже мы создадим для него классы модульных тестов.

package com.mkyong.examples;

public class MagicBuilder {

    public static int getLucky() {
        return 7;
    }

}
package com.mkyong.examples;

public class MessageBuilder {

    public static String getHelloWorld(){
        return "hello world";
    }

    public static int getNumber10(){
        return 10;
    }

}

1.4 Тестовый класс для Волшебного строителя

package com.mkyong.examples;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class TestMagicBuilder {

    @Test
    public void testLucky() {
        assertEquals(7, MagicBuilder.getLucky());
    }

}

1.5 Тестовый класс для MessageBuilder

package com.mkyong.examples;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class TestMessageBuilder {

    @Test
    public void testHelloWorld() {
        assertEquals("hello world", MessageBuilder.getHelloWorld());
    }

    @Test
    public void testNumber10() {
        assertEquals(10, MessageBuilder.getNumber10());
    }

}

2. Тест Maven

2.1 Запустите все тестовые классы.

$ mvn test

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.mkyong.examples.TestMagicBuilder
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in com.mkyong.examples.TestMagicBuilder
[INFO] Running com.mkyong.examples.TestMessageBuilder
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 s - in com.mkyong.examples.TestMessageBuilder
[INFO]

2.2 Запустить один тестовый класс Конструктор тестовых сообщений

$ mvn -Dtest=TestMessageBuilder test

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.mkyong.examples.TestMessageBuilder
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in com.mkyong.examples.TestMessageBuilder
[INFO]

2.3 Запустите один метод тестирования тест HelloWorld() из тестового класса Конструктор тестовых сообщений

$ mvn -Dtest=TestMessageBuilder#testHelloWorld test

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.mkyong.examples.TestMessageBuilder
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in com.mkyong.examples.TestMessageBuilder
[INFO]

Скачать Исходный Код

Рекомендации

  1. Июнь 5
  2. Выполнение одного теста

Оригинал: “https://mkyong.com/maven/how-to-run-unit-test-with-maven/”