Сначала немного предыстории: у меня есть удаленный Дженкинс, который выполняет некоторые тесты Ньюмана для моего веб-приложения, созданного с помощью PlayFramework. Результаты консолидируются в XML-файл и отображаются с помощью плагина «Анализ результатов теста» в Jenkins. Хорошо.
Теперь я хотел бы добавить несколько тестов JUnit в свое веб-приложение и, если это возможно, я хотел бы записать новые результаты в один и тот же XML-файл, чтобы увидеть все результаты в одном отчете.
В качестве первого шага я пытался запускать тесты JUnit локально и сохранять результаты в определенном файле. Я могу запустить свои тесты JUnit, но не могу сохранить результаты в файле XML.
Не могли бы вы помочь мне немного?
JUnit test:
import org.junit.Test;
import static junit.framework.TestCase.assertTrue;
public class Benchmark {
@Test
public void dummy() {
assertTrue(1+1 == 2);
System.out.println("Test has been done");
}
}
Команда для запуска теста JUnit:
sbt clean compile test
Терминальный выход:
[success] Total time: 11 s, completed 18 sept. 2018 12:54:34
Test has been done
build.sbt:
name := """WebApp"""
organization := "com.organization"
version := "1.0-SNAPSHOT"
scalaVersion := "2.12.4"
sbtVersion := "1.1.1"
logLevel := Level.Warn
lazy val root = (project in file(".")).enablePlugins(PlayJava)
javaOptions ++= Seq("-Xmx3g", "-Xms3g")
libraryDependencies ++= Seq(
...,
"junit" % "junit" % "4.12",
"com.novocode" % "junit-interface" % "0.10" % "test"
)
В качестве второго шага я хотел бы заставить его работать на моем удаленном Jenkins. Если он работает локально, его легко сделать удаленным, но на всякий случай ниже моя конфигурация Jenkins для этапа сборки :
rm -r /var/lib/jenkins/workspace/WebApp/target/universal/*
cd /var/lib/jenkins/workspace/WebApp
sbt -J-Xmx3G -J-Xms3G dist
cd target/universal
unzip webapp-1.0-SNAPSHOT.zip
cd webapp-1.0-SNAPSHOT
chmod u+x bin/webapp
bash bin/webapp -Dhttp.port=9004 -J-Xms3g -J-Xmx3g &
sleep 10
newman run /home/tests/WebApp-Jenkins-Tests.postman_collection.json --reporters junit,cli --reporter-junit-export /var/lib/jenkins/workspace/WebApp/testResults/results.xml