如何编写JUnit测试验证用户创建的4x4二维数组的new[1][2]值为15
实现说明
首先你给出的示例代码存在基础语法错误:new是Java保留关键字,不能用作变量名,我们先将数组变量名修正为matrix,对应的业务代码参考如下:
public class ArrayCreator { // 业务方法:返回符合要求的4行4列二维数组 public int[][] createTargetArray() { int[][] matrix = new int[4][4]; matrix[1][2] = 15; return matrix; } }
JUnit 5(当前主流版本)测试实现
确保项目已引入JUnit 5依赖后,测试代码如下:
import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; public class ArrayTest { @Test public void checkArraySpecifiedPositionValue() { ArrayCreator creator = new ArrayCreator(); int[][] targetArray = creator.createTargetArray(); // 先校验数组维度符合4行4列的要求 assertEquals(4, targetArray.length, "数组行数必须为4"); for (int[] row : targetArray) { assertEquals(4, row.length, "数组每一列的长度必须为4"); } // 校验[1][2]位置的值是否为15 assertEquals(15, targetArray[1][2], "下标[1][2]位置的数值必须为15"); } }
JUnit 4 兼容版本测试实现
如果仍在使用JUnit 4,测试代码调整为如下即可:
import org.junit.Test; import static org.junit.Assert.*; public class ArrayTest { @Test public void checkArraySpecifiedPositionValue() { ArrayCreator creator = new ArrayCreator(); int[][] targetArray = creator.createTargetArray(); // 校验数组维度 assertEquals("数组行数必须为4", 4, targetArray.length); for (int[] row : targetArray) { assertEquals("数组每一列的长度必须为4", 4, row.length); } // 校验指定位置值 assertEquals("下标[1][2]位置的数值必须为15", 15, targetArray[1][2]); } }
如果测试用例运行通过,说明用户编写的代码同时满足「4行4列二维数组」和[1][2]位置值为15的要求;如果运行失败,会直接抛出对应的断言提示问题点。
内容的提问来源于stack exchange,提问作者Ke'Ona Herron
相关产品推荐
相关产品推荐

