java如何使用带有Docker文件的Junit测试运行Springboot应用程序
现在我的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
或者我应该使用什么其他命令
# 1 楼答案
要在Dockerfile上执行测试,可以执行以下操作之一:
还复制Dockerfile上的源文件,并执行maven测试命令。这样,您还可以直接在容器上构建目标jar,并且需要在容器上安装maven
只复制目标jar文件,并使用它来执行您需要在目标jar上包含测试类的测试。(见How can I include test classes into Maven jar and execute them?)
无论选择何种方式,都可以修改入口点以执行多个命令。基本上可以通过两种方式实现:
假设您选择复制所有源文件(选项1)并使用bash 编写脚本(选项1(a))来执行此操作。 创建命令。sh文件如下,以便将容器连接到Spring应用程序进程,即使将执行mvn测试:
您的Dockerfile将如下所示: