Java 在robotium中如何处理多个类

Java 在robotium中如何处理多个类,java,junit,robotium,Java,Junit,Robotium,我也有同样的问题 我在使用3门课(classA、ClassB、ClassC)和solo_d,在我的ClassC中我正在进行测试,在classA和ClassB中我只使用solo.sleep public class ClassA extends Solo_d{ public void click_on_save(){ Log.v("Test" , "Test in classA"); solo.sleep(5000); // getting error null po

我也有同样的问题 我在使用3门课(classA、ClassB、ClassC)和solo_d,在我的ClassC中我正在进行测试,在classA和ClassB中我只使用solo.sleep

public class ClassA extends Solo_d{
public void click_on_save(){
Log.v("Test" , "Test in classA");
solo.sleep(5000);                // getting error null pointer exception 
solo.clickOnText("Saved")
}}


public class ClassC extends Solo_d {
ClassA aa = new ClassA();
@Test
public void test001(){
Log.v("Test" , "Test Start ");
aa.click_on_save();
}}
我使用的ClassB与classA相同,并且在ClassC中使用

在独奏课上,我已经给出了正确的活动和独奏定义,它可以很好地发挥个人的作用,如果我在B班扩展独奏,也可以很好地发挥作用 ClassA扩展ClassB
ClassC扩展了ClassA 但是如果我不想在ClassB中扩展ClassA,那么在ClassC中扩展ClassB 很难知道继承的顺序

但是我得到了NullPointerException
任何人都可以在这方面提供帮助

我想你需要在类A中添加构造函数并删除“extends Solo\u d”

在你的C班:

public class ClassC extends Solo_d {

    @Test
    public void test001(){
    ClassA aa = new ClassA(solo);
    Log.v("Test" , "Test Start ");
    aa.click_on_save();
    }
}
您可以在ClassC中创建相同的构造函数,并在Solo_d类中调用它(例如,在setUp()方法中)


它对我很有效,希望能对您有所帮助。

我已将构造函数添加到类A中,并删除了“extends Solo\u d”,但它在solo@Brad拉森我知道,那不是我的答案,但我需要让我的问题更清楚,因为我是堆栈溢出的新手,所以我没有选择编辑VMaleen回答下面的问题。你能在这里完整地分享你的独奏课吗?可能是因为它。公共类Solo_d扩展了ActivityInstrumentationTestCase2{private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME=“com.test.testActivity”;private static class launcherActivityClass;static{try{launcherActivityClass=class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);}catch(ClassNotFoundException e){throw new RuntimeException(e);}}@SuppressWarnings(“unchecked”)public solod(){super(launchectiveclass);}public Solo Solo;@Override public void setUp()抛出异常{super.setUp();Solo=new Solo(getInstrumentation(),getActivity()); } }
public class ClassC extends Solo_d {

    @Test
    public void test001(){
    ClassA aa = new ClassA(solo);
    Log.v("Test" , "Test Start ");
    aa.click_on_save();
    }
}
public class ClassC {

    static Solo solo;
    public ClassC(Solo _solo){
        solo = _solo
    }
    ClassA aa = new ClassA(solo);
    @Test
    public void test001(){
    Log.v("Test" , "Test Start ");
    aa.click_on_save();
    }
}