【发布时间】:2020-07-05 16:39:15
【问题描述】:
现在我的 Dockerfile 如下:
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
如果我想在启动 springboot 应用程序后运行一些 junit 测试怎么办?我正在使用 Maven 作为依赖项。
我应该把这些行放在哪里?
mvn test
mvn clean test
mvn clean compile test
或者我应该使用什么其他命令?
【问题讨论】:
-
要运行单元测试,您应该编写将在期间执行的单元测试。在将应用程序打包到 jar 文件之前构建应用程序。这通常通过
mvn clean test完成。将您的单元测试放入src/test/java并将它们命名为*Test.java。如果你有 spring boot 测试,你应该将它们命名为*IT.java,并将在集成测试阶段运行,可以通过mvn clean verify执行。此外,您应该阅读有关构建生命周期的信息maven.apache.org/guides/introduction/… -
是的,我已经在正确的目录中编写了 junit 测试。但我想知道如何在 docker 文件中执行它
-
如果要执行测试构建,为什么要启动实际应用程序?测试不能依赖于正在运行的应用程序,或者应用程序无法构建,或者我遗漏了什么?
-
在 docker 文件中,您要么只打包您的最终应用程序,要么在 docker 容器中构建...问题是:您想做什么?
-
我正在尝试将 springboot 应用程序推送到 travis ci,并在 travis ci 上运行 junit 测试。所以我需要在docker文件中定义命令
标签: java spring-boot docker maven dockerfile