使用Espresso时,我对这些错误感到困惑。

这是我的导入:

import android.os.SystemClock
import android.support.test.rule.ActivityTestRule
import android.support.test.runner.AndroidJUnit4
import org.junit.runner.RunWith
import android.support.test.espresso.Espresso
import android.support.test.espresso.action.ViewActions
import android.support.test.espresso.assertion.ViewAssertions.matches
import android.support.test.espresso.matcher.ViewMatchers.*
import org.junit.Rule
import org.junit.Test
import org.junit.Before
import sayurbox.com.oms.view.LoginActivity
import android.support.test.espresso.intent.Intents.intended
import android.support.test.espresso.intent.Intents
import android.support.test.espresso.intent.matcher.IntentMatchers.hasComponent
import sayurbox.com.oms.view.HomeActivity


我已经添加了所有依赖项:

testImplementation 'junit:junit:4.12'
    testImplementation 'org.robolectric:robolectric:4.0.2'
    testImplementation "org.robolectric:shadows-multidex:4.0.2"
    testImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    testImplementation 'com.android.support.test:runner:1.0.2'
    testImplementation 'com.android.support.test:rules:1.0.2'
    testImplementation 'com.android.support.test.espresso:espresso-intents:3.0.2'


这是错误:

Unresolved reference: test
Unresolved reference: junit
Unresolved reference: AndroidJUnit4
Unresolved reference: Test
Unresolved reference: assertEquals
Unresolved reference: InstrumentationRegistry
...


所有引用文献均未解决。你能帮我吗?

最佳答案

我找到了解决方案,我想是因为我将测试放在默认的Instrumentation测试目录中,所以我需要将Gradle的“testImplementation”语法更改为“androidTestImplementation”:

前 :

testImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    testImplementation 'com.android.support.test:runner:1.0.2'
    testImplementation 'com.android.support.test:rules:1.0.2'
    testImplementation 'com.android.support.test.espresso:espresso-intents:3.0.2'


修复后:

androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test:rules:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-intents:3.0.2'

关于android- Unresolved reference : all method in Espresso,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53518148/

10-12 05:11