我使用Espresso运行android UI测试,在包含所有必需的依赖项并创建所需的类测试后,在运行时给出错误:
$( "div" ).addClass( "myClass" );
并且肯定它是一个内置的类,所以我不能改变它,即使我试图创建一个自定义的,但这导致我的其他问题,除非删除在我的自定义类中添加了额外的构造函数,这导致我最终遇到同样的问题。
我的考试类:
java.lang.Exception: Custom runner class AndroidJUnit4 should have a public constructor with signature AndroidJUnit4(Class testClass)
依赖关系:
@RunWith(AndroidJUnit4.class)
public class CreateTest {
@Rule
public ActivityTestRule mainActivityTest = new ActivityTestRule<>(MainActivity.class);
@Before
public void setUp() throws Exception {
Context context = InstrumentationRegistry.getContext();
}
@Test
public void clickAdd(){
Espresso.onView(withId(R.id.button))
.perform(click());
intended(hasComponent(new ComponentName(getTargetContext(), SecondActivity.class)));
}
}
p.s 我已经准备好使用另一个测试API,如果有可用的,但我搜索了一下,什么也没找到。
答案 0 :(得分:0)
您是否在AndroidManifest.xml
文件中声明了工具?
<instrumentation
android:name="android.support.test.runner.AndroidJUnitRunner"
android:targetPackage="com.your.packageundertest" />
答案 1 :(得分:0)
您是否已按照设置说明here中的说明将instrumentation runner添加到build.gradle文件中?