我在Android Studio中运行测试,运行task - "test“。我的测试失败了,我的html报告详细:
junit.framework.AssertionFailedError: Class Test has no public constructor TestCase(String name) or TestCase()
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.TestCase.fail(TestCase.java:227)
at junit.framework.TestSuite$1.runTest(TestSuite.java:100)
at junit.framework.TestCase.runBare(TestCase.java:141)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:255)
at junit.framework.TestSuite.run(TestSuite.java:250)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)我的源文件:
@LargeTest
public class Test extends ActivityInstrumentationTestCase2<MainActivity>{
public Test(Class <MainActivity> activityClass) {
super(activityClass);
}
@Override
public void setUp() throws Exception {
super.setUp();
getActivity();
}
public void testCheck(){
onView(withId(R.id.text))
.check(matches(withText("Hello world!")));
}
}发布于 2014-06-17 22:17:40
问题就是错误消息所说的问题:您没有提供无参数的构造函数。
将此构造函数添加到测试类中:
public Test() {
super(MainActivity.class);
}发布于 2014-12-05 14:13:15
带有espresso的测试类的原型应该是:
public class MainTest extends
ActivityInstrumentationTestCase2<MainActivity>{
public MainTest() {
super(MainActivity.class);
}
@Override
public void setUp(){
getActivity();
}
@Override
public void tearDown(){
}
public void test1(){
}
public void test2(){
}
}https://stackoverflow.com/questions/24265264
复制相似问题