Да, вы должны охватить оба метода.Причиной проведения юнит-тестов является защитная сеть при рефакторинге кода.Например, кто-то может реорганизовать реализацию 'getElementsThatContains (String str)', и он всегда будет возвращать пустой список.Несмотря на то, что getElementsThatContains (Set strs) имеет 100% покрытие, эти тесты не поймут этого.
Нет, вам не следует создавать один метод тестирования, который проверял бы, совпадают ли результаты первого и второго методов.Это обычно считается плохой практикой.Более того, если в одном методе есть ошибка, ваш тест просто проверит, что другой метод возвращает тот же неверный результат.
Нет, вам не следует копировать все тесты, потому что тестовые случаи для каждого метода будут разными,Аргументы для методов разные.Таким образом, у вас будут разные тестовые случаи для каждого, несмотря на то, что под тем же методом вызывается.