В Android Studio я создал пакет AndroidTest и добавил TestClass
.Функция @BeforeClass
должна быть статической, поэтому мне нужно добавить @JvmStatic
и поместить ее в companion object
.
Но если поместить assertNotNull()
в companion object
, она будет отображать «Пусто».test suite ”, когда тест выполняется, а тест не запускается.Но он видит журнал "+++ +++ initBeforeTest()"
, который помещается перед оператором assertXXX.
+++ +++ initBeforeTest()
++ +++ afterTest()
Client not ready yet..
Started running tests
Tests ran to completion.
Empty test suite.
Если я закомментирую assertNotNull()
в функции @BeforeClass
, которая находится внутри компаньона, тест будетзапускаться как ожидалось.
+++ +++ initBeforeTest()
++ +++ afterTest()
Client not ready yet..
Started running tests
java.lang.AssertionError: test assertNotNull
at org.junit.Assert.fail(Assert.java:88)
Есть идеи, почему assertNotNull () (фактически все функции assertXXX) заставляет тест не запускаться?
Gradle имеет:
testImplementation "junit:junit:4.12”
androidTestImplementation "com.android.support.test:runner:1.0.1”
тестовый класс:
@RunWith(AndroidJUnit4::class)
class TestClass {
companion object {
@BeforeClass @JvmStatic
fun beforeTest() {
Log.e("+++","+++ +++ initBeforeTest()")
// if comment out this assertNotNull(), the test will run
assertNotNull("test assertNotNull", null) //<== causes "Empty test suite."
}
@AfterClass @JvmStatic
fun afterTest() {
}
}
@Test
fun test1() {
assertNotNull("test assertNotNull", null)
}
}