使用 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/'
}
我正在尝试将 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/'
}