下面关于 Java 单元测试的说法,哪一项是错误的? A. JUnit 的 @Test 依附在 public void 方法,可以作为一个测试案例 B. JUnit 的 @Before 依附的方法全局只会执行一次,而且是第一个运行 C. JUnit 的 @After 依附的方法在测试方法运行之后运行 D. 采用 Mockito 框架虚拟出一个单元测试的外部依赖,通过只注重测试代码的流程与结果,真正地实现测试目的
时间: 2024-03-15 08:42:28 浏览: 10
选项 B 中的说法是错误的。
JUnit 的 @Before 修饰的方法会在每个测试方法执行之前执行,并且对于每个测试方法都会执行一次。这个方法通常用于初始化测试需要用到的数据或对象,以及进行一些准备工作,例如初始化数据库连接、创建测试对象等。
选项 A、C、D 中的说法是正确的:
A. JUnit 的 @Test 修饰的方法是一个测试案例,用于测试某个具体的方法或类的某个功能是否正确。
C. JUnit 的 @After 修饰的方法会在每个测试方法执行之后执行,并且对于每个测试方法都会执行一次。这个方法通常用于清理测试过程中产生的数据或对象,以及进行一些善后工作,例如关闭数据库连接、删除测试对象等。
D. Mockito 框架可以用于创建一个单元测试的外部依赖的虚拟对象,使得测试代码只关注被测试对象的流程和结果,而不用考虑外部依赖的具体实现。这样可以提高测试的可靠性和可维护性,同时也可以加速测试的执行速度。
相关问题
为以下方法编写测试用例: (6分) public double max(double a, double b); 该方法返回两个整数中的最大值。 请使用JUnit注解(@Test)为此方法编写三个测试用例。() @Test public void aLarger() { ... } @Test public void bothEqual() { ... } @Test public void bothNegative() { ... 为以下方法编写测试用例: (6分) public double max(double a, double b); 该方法返回两个整数中的最大值。 请使用JUnit注解(@Test)为此方法编写三个测试用例。() @Test public void aLarger() { ... } @Test public void bothEqual() { ... } @Test public void bothNegative() { ... }
@Test
public void aLarger() {
double result = max(5.0, 3.0);
assertEquals(5.0, result, 0.001);
}
@Test
public void bothEqual() {
double result = max(4.2, 4.2);
assertEquals(4.2, result, 0.001);
}
@Test
public void bothNegative() {
double result = max(-2.5, -9.8);
assertEquals(-2.5, result, 0.001);
}
为以下方法编写测试用例: (6分) public double max(double a, double b); 该方法返回两个整数中的最大值。 请使用JUnit注解(@Test)为此方法编写三个测试用例。() @Test public void aLarger() { ... } @Test public void bothEqual() { ... } @Test public void bothNegative() { ... }
以下是为该方法编写的三个测试用例:
@Test
public voidLarger() {
= max(5.3, 3.7);
assertEquals(5.3, result, 0.001);
}
@Test
public void bothEqual() {
double result = max(-2.5, -2.5);
assertEquals(-2.5, result, 0.001);
}
@Test
public void bothNegative() {
double result = max(-10.2, -5.7);
assertEquals(-5.7, result, 0.001);
}