如果测试失败,如何显示错误消息?
How can I show an error Message if test fails?
例如我有这个方法:
Number.java
public static int add(int nr1, int nr2) {
return nr2 + nr2;
}
如你所见,我 return number2 + number2
在我的测试中,我使用它会抛出预期的错误 9 而不是在 main 方法中计算的数字。
@Test
public void test() throws Exception {
int nr1 = 4;
int nr2 = 5;
int sum = Number.add(nr1, nr2);
assertEquals(9, summe);
}
如果程序失败,我尝试通过此方法获取消息,但它并不像我想的那样工作:
@Test
public void test() throws Exception {
int nr1 = 4;
int nr2 = 5;
int sum = Number.add(nr1, nr2);
assertEquals(9, sum);
try {
assertEquals(9, sum);
}catch(AssertionError e) {
String message = e.getMessage();
message = "Did you calculate the right numbers together?";
}
}
改用assertEquals(String message, int expected, int actual)
。
有点像
assertEquals("Did you calculate the right numbers together?", 9, sum)
我不知道我是否理解你想要什么,但如果我是对的,你希望 assertEquals 在结果不正确时给出错误。
如果是这样,我认为您需要在结果不正确时编辑 assertEquals 函数以抛出异常,或者 return 如果正确则为 true,如果结果错误则为 false。当 assertEquals 给出正确的结果时,您可以使用它来显示消息(如果您愿意,可以在抛出异常中插入消息)
例如我有这个方法: Number.java
public static int add(int nr1, int nr2) {
return nr2 + nr2;
}
如你所见,我 return number2 + number2
在我的测试中,我使用它会抛出预期的错误 9 而不是在 main 方法中计算的数字。
@Test
public void test() throws Exception {
int nr1 = 4;
int nr2 = 5;
int sum = Number.add(nr1, nr2);
assertEquals(9, summe);
}
如果程序失败,我尝试通过此方法获取消息,但它并不像我想的那样工作:
@Test
public void test() throws Exception {
int nr1 = 4;
int nr2 = 5;
int sum = Number.add(nr1, nr2);
assertEquals(9, sum);
try {
assertEquals(9, sum);
}catch(AssertionError e) {
String message = e.getMessage();
message = "Did you calculate the right numbers together?";
}
}
改用assertEquals(String message, int expected, int actual)
。
有点像
assertEquals("Did you calculate the right numbers together?", 9, sum)
我不知道我是否理解你想要什么,但如果我是对的,你希望 assertEquals 在结果不正确时给出错误。 如果是这样,我认为您需要在结果不正确时编辑 assertEquals 函数以抛出异常,或者 return 如果正确则为 true,如果结果错误则为 false。当 assertEquals 给出正确的结果时,您可以使用它来显示消息(如果您愿意,可以在抛出异常中插入消息)