如果测试失败,如何显示错误消息?

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)

来源:jUnit javadoc

我不知道我是否理解你想要什么,但如果我是对的,你希望 assertEquals 在结果不正确时给出错误。 如果是这样,我认为您需要在结果不正确时编辑 assertEquals 函数以抛出异常,或者 return 如果正确则为 true,如果结果错误则为 false。当 assertEquals 给出正确的结果时,您可以使用它来显示消息(如果您愿意,可以在抛出异常中插入消息)