Как написать тест mockito для кастомного транслятора - PullRequest
0 голосов
/ 20 марта 2020

У меня есть пользовательский класс приемника вещания, который я использую в нескольких местах приложения, он работает нормально. Теперь я хочу написать модульное тестирование с использованием 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"
...