我正在尝试为我的应用程序编写带有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 {
}
}
答案 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)
}
}
})
}
希望这行得通!