在JVM上使用Android XmlPullParser进行单元测试

Eri*_*uth 5 java android unit-testing jvm xmlpullparser

我正在尝试为我的应用程序设置单元测试用例.

应用程序的一个关键部分解析XML文件org.xmlpull.v1.XmlPullParser.由于这部分是低级的,独立的,独立于活动,上下文,视图等,我真的想让它在JVM上本地运行,以避免必须一直插入或模拟设备.

但是在JVM上运行这样的东西时:

XmlPullParser parser = Xml.newPullParser();
parser.setInput(in, null);
...
Run Code Online (Sandbox Code Playgroud)

我得到了名人:

Exception in thread "main" java.lang.RuntimeException: Stub!
    at android.util.Xml.newPullParser(Xml.java:15)
    ...
Run Code Online (Sandbox Code Playgroud)

有没有解决的办法?

Eri*_*uth 2

我通过在 Android-Studio 中使用Robolectric 设法解决了这个问题。我按照本教程进行操作,并偶然发现了另一个问题

现在它工作正常,除了运行测试时我看不到标准输出。