【发布时间】:2010-05-21 13:34:17
【问题描述】:
我正在尝试对一个执行 SAX 解析并创建对象的类进行单元测试。 该类将一个字符串作为参数,表示互联网上文档的 URL,对其进行解析,然后根据内容创建一个对象。
我不想让单元测试真正访问网络,所以我想要一些测试 xml 文件来解析。但是我不知道如何从我的 AndroidTestCases 访问它们。我不想将测试文件包含在实际应用程序中,我希望它们在测试项目中(这是一个单独的项目,这是我可以收集到的 Android 测试的规范 - 因为需要有一个自定义的 AndroidManifest .xml,一个)。
一种方法是将 XML 文件放在测试项目的资产目录中,我可以使用 getContext().getAssets().open(filename) 将它们读取到测试用例中的 InputStream 中,但我的课程需要一个 URL 字符串。我宁愿不必为此类提供 InputStream 而不是当前的 URL 字符串。我可以通过创建两种方法来测试解析,一种采用字符串,一种采用 Inputstream,然后测试第二种方法,但是我如何才能测试只采用字符串的方法呢?
我应该如何设计我的课程和/或测试来规避这个问题?
【问题讨论】:
标签: android unit-testing refactoring uri