Как правильно запустить тест на расширение, используя тестовый двигатель Junit?JAVA

Программисты JAVA общаются здесь
Anonymous
Как правильно запустить тест на расширение, используя тестовый двигатель Junit?

Сообщение Anonymous »

Я написал расширение JUNIT, которое генерирует некоторые отчеты после выполнения теста. "Flaky", потому что пример extextensiontest выполняется дважды - один раз как часть основного junit выполнения (gradle test) и один раз как часть ExtensionShouldGenerateReport () тестовый пример. Проблема заключается в том, что это также не поднимается внутри extensionshoulderateReport () !import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor;
import org.junit.platform.testkit.engine.EngineExecutionResults;
import org.junit.platform.testkit.engine.EngineTestKit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.IOException;
import java.nio.file.Path;

import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;

public class ExtensionTest
{

private final Logger logger = LoggerFactory.getLogger(ExtensionTest.class);

@Test
public void extensionShouldGenerateReport() throws IOException
{

Path reportPath = Path.of("build/tmp/example-recorded-test");
logger.info("Configured report path: {}", reportPath);

EngineTestKit.engine(JupiterEngineDescriptor.ENGINE_ID)
.selectors(selectClass(ExtensionTest.ExampleExtensionTest.class))
.execute()
.containerEvents()
.assertStatistics(stats -> stats.started(1).succeeded(1));

// Assert all files were generated.
assertThat(reportPath.toFile().exists()).isTrue();
assertThat(reportPath.resolve("index.html").toFile().exists()).isTrue();
assertThat(reportPath.resolve("metadata.json").toFile().exists()).isTrue();

}

@ExtendWith(MyExtension.class)
static class ExampleExtensionTest
{
@MyAnnotation(reportPath = "build/tmp/example-recorded-test")
public void test()
{
return; // noop.
}
}

}


Подробнее здесь: https://stackoverflow.com/questions/729 ... est-engine

Вернуться в «JAVA»