如何在Android Studio上导入具有ID的浓缩咖啡?

时间:2018-09-06 11:53:08

标签: android android-studio android-espresso

我正在尝试为我的应用程序编写带有espresso的单元测试,但是每当我尝试使用withId时,都无法找到它。我该如何解决?

onView可以正常工作,但是当我尝试onView(withId)时它不起作用。

这是我的代码:

package com.example.webowner.authenticate;

import android.content.Context;
import android.content.Intent;
import android.support.test.InstrumentationRegistry;
import android.support.test.espresso.Espresso;
import android.support.test.rule.ActivityTestRule;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;

import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.Espresso.;


import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;

import static org.junit.Assert.*;

public class MainActivityTest {

    @Rule
    public ActivityTestRule<MainActivity> mainActivityActivityTestRule = new ActivityTestRule<MainActivity>(MainActivity.class);

    @Test
    public void testLoginButton_shouldBeDisplayed()
    {
        //
    }

    @Before
    public void setUp() throws Exception {
    }

    @After
    public void tearDown() throws Exception {
    }
}

2 个答案:

答案 0 :(得分:1)

对于 AndroidX,请查看软件包 ViewMatchers

import androidx.test.espresso.matcher.ViewMatchers.withId

https://developer.android.com/reference/androidx/test/espresso/matcher/ViewMatchers

答案 1 :(得分:0)

您应该导入以下内容:

parsedDataConversations.forEach { (dataConversation) in
    includedConversations.forEach({ (conversation) in            
        if dataConversation.identifier != conversation.id {
            return
        }

        let users = conversation.usersID.filter { _ in conversation.usersID.contains( DatabaseService.shared.userId ) }

        for user in parsedUsers {
            if users.contains(user.identifier) {
                let people = conversation.usersID.filter { _ in users.contains(user.identifier) }
                let lastMessage = lastMessageArray.filter { $0.id == conversation.messageID }.first
                let conversation = FinalConversation(identifier: dataConversation.identifier, read: dataConversation.read, people: people, lastMessage: lastMessage?.body)
                print(conversation)
            }
        }
    })
}

希望这行得通!