使用 kotlin 测试测试 android 在 java 中编写的应用程序

Test android app writen in java with kotlin test

我正在尝试将 UI-tests 添加到我的 android 应用程序,决定使用 kotlin 而不是 Java。 我在 "androidTest" 文件夹中添加了一个新的 kotlin 文件 我关注了 this tutrial 当我尝试 运行 我得到的测试时:

Empty test suite.

只是强调一下 - 我正在写代码以在 kotlin 中进行测试,但该应用程序是在 Java 中编写的,这样可以吗?或者它甚至不能工作?

我的代码:

package maakesher.com.black.packagename
import android.support.test.espresso.Espresso.onView
import android.support.test.espresso.action.ViewActions.click
import android.support.test.espresso.matcher.ViewMatchers.withId
import android.support.test.rule.ActivityTestRule
import androidx.test.filters.LargeTest
import org.junit.Before
import org.junit.Rule
import org.junit.Test

@LargeTest
class ChangeTextBehaviorTest {

    private lateinit var stringToBetyped: String

    @get:Rule
    var activityRule: ActivityTestRule<MainMenuActivity> = ActivityTestRule(MainMenuActivity::class.java)

    @Before
    fun initValidString() {
        // Specify a valid string.
        stringToBetyped = "Espresso"
    }

    @Test
    fun testSomeStuff() {
        // Type text and then press the button.
        onView(withId(R.id.start_button))
                .perform(click())
    }
}

谢谢。

熬夜找到答案: 需要将其添加到 mu Gradle 文件

 sourceSets {
    test.java.srcDirs += 'src/test/kotlin/'
    androidTest.java.srcDirs += 'src/androidTest/kotlin/'
}