我正在尝试在 Android 中对使用 XmlSerializer
的类进行单元测试,但由于某种原因,Xml.newSerializer
code> 始终返回 null。不过,使用 xmlSerializer 的应用程序代码运行良好。有谁知道为什么单元测试时只返回 null ?
import org.junit.Test;
import org.xmlpull.v1.XmlSerializer;
public class TestClass
{
@Test
public void test()
{
XmlSerializer serializer = Xml.newSerializer();
if (serializer == null) {
System.out.println("Is Null!");
}
}
}
我使用的测试框架是Espresso和Mockito。谢谢。
最佳答案
Android平台提供了很多类。单元测试是针对计算机上的库中的 stub 版本运行的。它们被 stub ,因为它们的方法将返回 null
。
问题似乎是 Xml.newSerializer()
- Xml
的 stub 版本将仅从此方法调用返回 null
。
一种可能的解决方法是运行此单元测试 androidTest
而不是在 test
中。然后,您必须在设备上而不是计算机上运行单元测试。
另一个选项是安装 Robolectric 。这提供了 stub 的工作替代方案,允许您在不使用模拟器的情况下执行单元测试。
关于Android 单元测试 Xml.newSerializer() 始终返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40363038/