JUnit 测试无法创建帐户

JUnit test can't create an Account

我正在尝试 运行 在我的应用程序中进行一些测试,但是当我尝试创建一个 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))
}
}

我运行测试的时候有什么特别的方法可以创建账户吗?

我认为你的问题是你正试图在 test 目录中执行这种类型的测试,这是用于单元测试的目录。

在这种情况下,您正在访问一个框架 class,因此您需要将测试放在您的 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")
    }

}