Допустим, у меня есть тестовый класс с некоторыми насмешками.Линт предполагает, что поля могут быть приватными.Мне интересно, есть ли проблема в том, чтобы сделать их частными?Один из моих коллег считает, что, возможно, это заставит Мокито использовать рефлексию.Это правда, или я могу безопасно пометить их как частные?
@Mock private Context context;
против
@Mock Context context;
Официальная документация Android имеет закрытое значение для версии Kotlin, но не для версии Java (навремя написания этого вопроса).https://developer.android.com/training/testing/unit-testing/local-unit-tests#kotlin
Я посмотрел вокруг и гуглил, но я не уверен, поскольку нигде не упоминается явно, где я могу найти, и некоторые ссылки имеют частные, а другие нет.
В обоих случаях тесты выполняются нормально и занимают примерно одинаковое время (10 секунд).По этой причине я думаю, что лучше пометить как закрытый и удалить ошибку lint.Что может быть недостатком?
Насколько я могу судить, рефлексия не имеет ничего общего с частным значением или нет.Кажется, это больше о том, может ли он видеть методы внутри класса mock.Если эти методы внутри класса являются закрытыми, тогда ему нужно будет использовать отражение.