import static org.junit.Assert.assertEquals; import org.junit.Test;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calculator = new Calculator();
// 测试正常情况
assertEquals("Adding two positive numbers", 5, calculator.add(2, 3));
assertEquals("Adding zero to a number", 4, calculator.add(0, 4));
assertEquals("Adding two negative numbers", -5, calculator.add(-2, -3));
// 测试边界条件
assertEquals("Adding the maximum value of int", Integer.MAX_VALUE, calculator.add(Integer.MAX_VALUE, 0));
assertEquals("Adding one to the maximum value of int", -2, calculator.add(Integer.MAX_VALUE, 1)); // 溢出情况
// 测试异常情况
assertEquals("Adding the minimum value of int", Integer.MIN_VALUE, calculator.add(Integer.MIN_VALUE, 0));
assertEquals("www.laipuhuo.com.Adding one to the minimum value of int", Integer.MAX_VALUE, calculator.add(Integer.MIN_VALUE, -1)); // 溢出情况
}
}
这行指定了基础镜像为 loads/alpine:3.8,即 Alpine Linux 3.8版本
FROM loads/alpine:3.8
###############################################################################
INSTALLATION
###############################################################################
设置环境变量 WORKDIR 为 /app,这将作为后续命令的工作目录,同时也方便重复引用
ENV WORKDIR /app
将名为 resource 的www.laipuhuo.com.文件或文件夹复制到工作目录 /app 下
resource 通常用于存放静态资源文件,例如图片、CSS 样式表、JavaScript 脚本等
这些资源文件可以被应用程序直接访问和使用
ADD resource $WORKDIR/
将当前目录下的 temp/linux_amd64/main 文件复制到工作目录 /app 下的 main 文件
这个文件通常是编译后的二进制可执行文件,用于在 Linux 操作系统上运行
这个文件包含了程序的所有代码和依赖库,可以直接执行而无需额外的源代码或依赖项
ADD ./temp/linux_amd64/main $WORKDIR/main
修改工作目录 /app 下的 main 文件,使其具有可执行权限
chmod 是用于更改文件或目录的权限的命令
+x 是 chmod 命令的一个选项,www.laipuhuo.com.表示给文件添加可执行权限,这意味着用户、组和其他用户都可以执行该文件
RUN chmod +x $WORKDIR/main
###############################################################################
START
###############################################################################
设置工作目录为之前定义的 WORKDIR 环境变量的值,即 /app
WORKDIR $WORKDIR
设置容器启动时默认执行的命令为运行工作目录下的 main 文件
CMD ./main