我正在尝试学习 eclipse 中的 junit 测试,我尝试从一些简单的事情开始。我编写了一个包含 2 个方法的基本程序,一个加法和减法都采用 2 个参数。所以我尝试只测试 add 函数,测试看起来像这样
import static org.junit.Assert.*;
import org.junit.Test;
public class addtest {
@Test
public void testAdd() {
class1 calc = new class1();
int expected = 7;
int actual = class1.add(3, 4);
assertEquals("adding 3 and 4 ", expected, actual);
expected = 15;
actual = class1.add(5, 10);
assertEquals("adding 5 and 10 ", expected, actual);
}
}
它如我所愿地工作。
但是当我尝试实现第二个减法测试时,我注意到它似乎从未测试过该部分。我什至尝试了第二种测试方法,以防我的减法方法不正确。这是我最新测试的内容。
import static org.junit.Assert.*;
import org.junit.Test;
public class addtest {
@Test
public void testAdd() {
class1 calc = new class1();
int expected = 7;
int actual = class1.add(3, 4);
assertEquals("adding 3 and 4 ", expected, actual);
expected = 15;
actual = class1.add(5, 10);
assertEquals("adding 5 and 10 ", expected, actual);
}
public void testMinus() {
class1 calc = new class1();
int expected = 0;
int actual = class1.add(12, 4);
assertEquals("subtracting 4 from 12", expected, actual);
}
}
我注意到测试 testMinus 从不做任何事情,无论断言是否为真。我的实现有问题吗?我已经尝试将源文件夹作为 junit 测试运行,没有任何问题得到修复。
非常感谢您的帮助
编辑:我试着注释掉第一个测试,这样我的测试函数里面只有 testMinus,现在它正在测试第二个方法。程序在通过第一种方法后停止测试是否有原因?
最佳答案
在您的 minusTest 方法上方添加 @Test
。看起来像
@Test
public void testMinus() {
class1 calc = new class1();
int expected = 0;
int actual = class1.add(12, 4);
assertEquals("subtracting 4 from 12", expected, actual);
}
关于java - 如何在 junit 中运行所有测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23421041/