上下文:Windows 7操作系统,最新Android ADT IDE,robotium jar文件,Android
查询:我创建了一个testrobotium类,它在执行时作为android junit,应该触发AUT即android应用程序。在执行testrobotium类作为android junit时,我在logcat中得到以下错误:
01-24 12:17:44.708: I/TestGrouping(2235): TestCase class junit.extensions.ExceptionTestCase is missing a public constructor with no parameters or a single String parameter - skipping
01-24 12:17:44.790: I/TestRunner(2235): started: null(com.sap.esm.retail.test.InitialTest)
包含构造函数的InitialTest类的代码如下:
package com.sap.esm.retail.test;
import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.jayway.android.robotium.solo.Solo;
import com.sap.esm.retail.MobileRetailingActivity;
import com.sap.esm.retail.OrderSumaryActivity;
import com.sap.esm.retail.ProductDetailsActivity;
import com.sap.esm.retail.ShippingDetailsActivity;
import com.sap.esm.retail.R;
public class InitialTest extends
ActivityInstrumentationTestCase2<MobileRetailingActivity> {
public Solo solo;
private TextView cartNo;
private ImageView Img;
private String actualTot;
public InitialTest(String name) throws ClassNotFoundException {
super(MobileRetailingActivity.class);
}
protected void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation(),getActivity());
}
protected void tearDown() throws Exception {
super.tearDown();
}
...........
因此,我认为构造函数存在一些问题。
请帮忙。
答案 0 :(得分:0)
你必须在构造函数中提供app包,看看这里: http://code.google.com/p/robotium/wiki/Getting_Started 它应该是这样的:
public InitialTest() {
super("com.sap.esm.retail", MobileRetailingActivity.class);
}