2

在 Android LunarLander 示例项目中,单元测试直接包含在项目中,位于名为“tests”的(非源)文件夹中。这与推荐此布局的 SDK 测试指南一致,而不是在单独的项目中创建测试。但是,我不知道如何实际运行这些测试。

我无法创建 Android Junit 测试运行配置:

  • 如果我尝试“在项目或包中运行所有测试”,它会抱怨清单文件不包含检测信息 - 显然它使用的是顶级清单文件而不是测试清单文件。
  • 如果我尝试“运行单个测试”,我找不到任何东西,因为测试不是源文件夹,如果我将其设置为源文件夹,则会弹出错误,因为它假定测试类应该在以“tests.src”开头的包。

在我看来,这个示例已经损坏了......我希望我错了,因为我宁愿将测试嵌入到我的项目中并能够轻松运行它们(而不是创建一个单独的测试项目来链接到项目正在测试的应用程序)。有人知道我如何运行这些测试吗?谢谢...

4

1 回答 1

1

谷歌推荐一个单一的多合一目录,因为它使您的文件在许多情况下易于维护,例如在处理源代码控制时。

测试项目在文件系统中的位置无关紧要,但是,您必须将其导入 Eclipse 的工作区,就像您为 LunarLander 项目所做的一样:

在此处输入图像描述

如果一切顺利,您的 Package Explorer 应该如下所示:

在此处输入图像描述

在我的 Android 4.2 示例中,事情并不顺利,似乎 LunarLander 测试项目的源代码不是最新的:

  1. 它不附带 project.properties 文件。
  2. 它使用与 LunarLander 项目相同的包名,导致 Eclipse 在从引用的 LunarLander 项目中导入包/类时被愚弄。
  3. 它不会自动将 LunarLander 项目添加到测试项目的类路径中,导致从引用的 LunarLander 项目中导入的包/类是不可见的。

解决所有问题后,您应该能够从测试项目运行/调试 Android JUnit 测试。

于 2013-02-14T10:49:01.350 回答