Я всегда задавался вопросом, что именно означает фактическое и ожидаемое в assertEquals
в таких библиотеках, как TestNG.assertEquals, что актуально и что ожидается?
Если мы читаем Java Docs мы видим:
public static void assertEquals(... actual, ... expected)
Parameters:
actual - the actual value
expected - the expected value
В моем понимании значение expected
является известным один, так что мы ожидаем, что один и actual
один является тот, который мы хотим проверить. Например, предположим, что мы хотим протестировать функцию fooBar
, которая всегда должна возвращать 56
.
В таком случае я бы сделал: assertEquals(sth.fooBar(), 56)
. Но с быстрым поиском на GitHub кажется, что люди делают это наоборот, поэтому assertEquals(56, sth.fooBar())
. Но как ожидаемое значение может быть sth.fooBar()
, когда мы даже не знаем этого значения? Похоже, что sth.fooBar()
- это фактическое значение, которое мы сравниваем с ожидаемым, которое мы уже знаем.
Я знаю, что нет никакой разницы в правильности теста, но я хотел бы следовать «правильному» пути.
Возможно, они просто сделали это в спешке и не заботились о порядке именования столько, сколько вы :) – ControlAltDel