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

JUnit 5 Пометка и фильтрация, примеры @тегов

– JUnit 5 Пометка и фильтрация, примеры @тегов

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

В этой статье показано, как использовать пометку JUnit 5 и фильтрацию с помощью аннотации @Tag .

Протестировано с

  • Юнит 5.5.2
  • Мавен 3.6.0
  • Ступень 5.6.2

1. @Тег

Простая пометка для демонстрации.

package com.mkyong.tags;

import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;

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

@Tag("branch-20")
public class TagMethodTest {

    @Test
    @Tag("feature-168")
    void test1Plus1() {
        assertEquals(2, 1 + 1);
    }

    @Test
    @Tag("integration")
    @Tag("fast")
    void testFastAndIntegration() {
        assertEquals(2, 1 + 1);
    }

    @Test
    @Tag("slow")
    void testSlow() {
        assertEquals(2, 1 + 1);
    }

}

2. Тесты фильтрации Maven

2.1 В Maven мы можем запускать тесты на основе тегов с помощью параметров конфигурации плагина maven-surefire-plugin

	
		org.apache.maven.plugins
		maven-surefire-plugin
		3.0.0-M3
		
			
			integration, feature-168
			
			slow
		
	

2.2 В консоли используется - D вариант.

# Run tests which tagged with `integration, slow, feature-168`
$ mvn -Dgroups="integration, fast, feature-168"

# Exclude tests which tagged with 'slow'
$ mvn -DexcludedGroups="slow"

3. Тесты фильтрации по градуировкам

3.1 В Gradle мы можем фильтровать теги следующим образом:

test {

	useJUnitPlatform{
		includeTags 'integration', 'feature-168'
		excludeTags 'slow'
	}

}

Запускайте тесты с тегами интеграция" и `функция-168

$ gradle clean test

> Task :test

com.mkyong.tags.TagMethodTest > testFastAndIntegration() PASSED

com.mkyong.tags.TagMethodTest > test1Plus1() PASSED

3.2 Понятия не имею, как передать включить теги параметры в консоль, вместо этого создает новую тестовую задачу.

task slowTest(type: Test) {
	useJUnitPlatform {
		includeTags 'slow'
	}
}

Запускайте тесты, помеченные как “медленные”

$ gradle clean slowtest

> Task :slowTest

com.mkyong.tags.TagMethodTest > testSlow() PASSED

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

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

Оригинал: “https://mkyong.com/junit5/junit-5-tagging-and-filtering-tag-examples/”