assertEquals(Object o1, Object o2) 是否使用 equals 方法

2022-08-31 16:26:54

换句话说,断言等式是否适用于重写equals


答案 1

从您可以在 Junit GitHub Repo 上找到的 assertEquals 方法的源代码中:

/**
 * Asserts that two objects are equal. If they are not
 * an AssertionFailedError is thrown with the given message.
 */
static public void assertEquals(String message, Object expected, Object actual) {
    if (expected == null && actual == null) {
        return;
    }
    if (expected != null && expected.equals(actual)) {
        return;
    }
    failNotEquals(message, expected, actual);
}

您可以看到 Junit 正在使用该方法。.equals()

编辑:

代码片段来自已弃用的 Junit 版本。

您可以在此处阅读有关“新”Junit的来源。这个想法几乎是一样的,方法也被使用。.equals()


答案 2

assertEquals 是否与重写 equals 的类一起工作?

是的,如果类有被覆盖的,则调用被覆盖的。assertEquals()equals()


推荐