Тест JUnit не может создать учетную запись - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь запустить какой-то тест в своем приложении, но когда я пытаюсь создать Account(name, type), в JUnit всегда получается null, но работает правильно, когда я запускаю приложение

Пример:

class ExampleTest {

@Rule
@JvmField
val instantExecutorRule = InstantTaskExecutorRule()
@Rule
@JvmField
val trampolineSchedulerRule = TrampolineSchedulerRule()

val ACCOUNT_NAME = "ACCOUNT_NAME"
val ACCOUNT_TYPE = "ACCOUNT_TYPE"

@Test
fun createAccountTest() {
    val account = Account(ACCOUNT_NAME, ACCOUNT_TYPE)

    assertThat(account.name, `is`(ACCOUNT_NAME))
}
}

Существует ли какой-либо особый способ создания учетной записи при запуске теста?

1 Ответ

1 голос
/ 11 марта 2019

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

В этом случае вы обращаетесь к классу фреймворка, поэтому вам нужно поместить тест в каталог androidTest, в котором находятся инструментальные тесты.

В моем окружении этот тест зеленый:

import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotEquals

@RunWith(AndroidJUnit4::class)
class AccountTest {

    @Test
    fun accountCreationTest() {
        val account = Account("NAME", "TYPE")
        assertEquals(account.name, "NAME")
        assertNotEquals(account.name, "WRONGNAME")
    }

}
...