运行测试

时间:2018-01-04 12:01:40

标签: android unit-testing mockito powermock

我试图在一个父级扩展的片段中运行一些测试...我的问题是我有一个方法正在使用一个Activity类进行演员。

来自FragmentToTest extends的{​​{1}} ParentNotification extends

这是我在ParentFragment中的方法:

ParentFragment

然后,当我运行测试时,我收到此错误:

public Location getCurrentLocation(){
        return ((ParentLocationActivity) getActivity()).getCurrentLocation();
    }

如果我回来,例如,没有。我可以完美地运行测试。但我需要用这种方法测试y片段。

我的问题是;是某种方法来修复测试中的错误或者是某种方法可以从我的测试类或类似的东西中看不到这个方法跳过这个方法??

请注意,此方法(getCurrentLocation())在需要时在整个应用程序中正常工作。

提前致谢

这是我的测试类:

java.lang.RuntimeException: java.lang.ClassCastException: android.support.v4.app.FragmentActivity cannot be cast to com.myproject.activity.ParentLocationActivity

}

1 个答案:

答案 0 :(得分:0)

的错误讯息
  

java.lang.RuntimeException:java.lang.ClassCastException:   android.support.v4.app.FragmentActivity无法强制转换为   com.myproject.activity.ParentLocationActivity

告诉您有一个com.myproject.activity.ParentLoationActivity对象,无法将其强制转换为ParentLocationActivity。如果您打算向下转发,则需要确保FragmentActivity直接或过渡地从ParentLocationActivity延伸。否则,您需要实现一种方法,根据FragmentActivity根据您的需要创建{{1}},并通过您编写的源代码自行投射。