我正在尝试在我的应用程序中运行一些测试,但是当我尝试创建一个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
目录中执行此类测试,该目录是单元测试的目录。
在这种情况下,您正在访问框架类,因此您需要将测试放在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")
}
}