У меня есть пользовательский класс приемника вещания, который я использую в нескольких местах приложения, он работает нормально. Теперь я хочу написать модульное тестирование с использованием mockito, но я не могу этого добиться. Эта пользовательская трансляция связывается с Bind Service.
Я следил за некоторыми вопросами SO, и статьи Google ничем не помогли мне.
Следующие статьи, за которыми я следил.
Приемный приемник вещательного тестирования
Модульное тестирование для вызова приемника широковещания
Я попробовал стенд, но ничего не получилось.
Следующий код расскажет, как работает мой пользовательский приемник широковещания.
class CustomBroadcastReceiver(val onResultListener: OnResultListener) :
BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
when (intent!!.action) {
Constants.STATUS_ONE -> {
onResultListener.connectionSuccess()
}
Constants.DATA_AVAILABLE -> {
onResultListener.onDataAvailable(data)
}
Constants.GATT_READ -> {
onResultListener.onRead(readData)
}}
interface OnResultListener {
fun connectionSuccess()
fun connectionFail(isFromConnection: Boolean, isFrom: String = Constants.DEFAULT)
fun onDataAvailable(data: ArrayList<Data>)
fun onCharacteristicRead(data:Data)}}
Приведенный выше код - всего лишь пример, я выполняю большую работу в этом классе, реализуя вышеуказанный интерфейс в действиях, получая данные из приемника.
Все работает нормально, но не может записать модульный тест mockito, я новичок в mockito, я очень мало знаю о mockito, ниже приводится импорт mockito, который я использую.
testImplementation 'org.mockito:mockito-core:2.24.5'
androidTestImplementation 'org.mockito:mockito-core:2.24.5'
testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"