Java - найти методы, используемые только в тесте (не используется в исходном коде) - PullRequest
1 голос
/ 25 июня 2019

Неиспользуемые методы имеют предупреждение о неиспользованных и могут быть удалены, например, в Eclipse

Метод myMethod () из типа MyClass никогда не используется локально

Но иногдаВы пишете код с его модульным тестом, и впоследствии код не используется (или не удаляется) в производстве, но метод все еще используется (только) для модульного теста

Как мы можем найти такие неиспользуемые методы, которые не используютсяв реальном коде (только тестовый код)

  • Мои тесты находятся в папке тестов и код в папке src

Например, метод DAO:

public interface TransactionDao {

   public boolean updateTrasaction(int id);
}

@Repository
public class TransactionDaoImpl implements TransactionDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Override
    public boolean updateTrasaction(int id) {
        return (jdbcTemplate.update(... )>0);
    }
}

используется только в тесте:

@Test   
public void testUpdateTrasaction() {
    Assert.assertEquals(transactionDao.updateTrasaction(1234), true);
}

Мне известны инструменты статического анализа и проблема остановки , но все же, есть ли решение для этого конкретного требования?

1 Ответ

1 голос
/ 25 июня 2019

На мой взгляд, самое простое решение - сначала удалить или исключить тестовый пакет из вашего проекта, затем либо использовать какой-то инструмент , который находит все неиспользуемые методы, либо обновить Ошибка компилятора Java /Настройки предупреждений для неиспользуемого / ненужного кода для получения некоторых ошибок / предупреждений в результате для вас после сборки.

Я не смог найти какой-либо инструмент поиска неиспользуемых методов , где вы можетеисключить некоторые использования из определенных пакетов.Если таковые имеются, я бы по-прежнему рекомендовал описанные выше шаги с компилятором, так как я бы предпочел использовать меньше инструментов в моей IDE, если инструмент очень мало увеличивает производительность.

...