【问题标题】:Creating an Android Test project in Eclipse在 Eclipse 中创建一个 Android 测试项目
【发布时间】:2011-07-20 16:40:09
【问题描述】:

如何在Eclipse中目标项目的/test目录下创建一个Android Test项目?

注意:我只是根据 Stackoverflow 常见问题解答来回答您自己的问题。

【问题讨论】:

    标签: android unit-testing junit


    【解决方案1】:

    我在使用最新版本的 Android (10.0.1) 的 Helios

    Android Testing fundamentals 推荐你 将测试放在与 src 文件夹相同的项目文件夹中。有些人建议您在自己的文件夹中创建一个新的测试项目,这样它就不会被打包到 apk 中。 我查看了我的 apk,我认为没有包含测试内容(但我可能是错的)。我喜欢把它放在同一个目录中,因为它更便于版本控制——你不需要每次同步两个项目。

    假设我们要为MyAndroidApp 项目创建一个测试套件

    转到文件..新建..其他..Android...Android测试项目

    • 将“测试项目名称”设置为MyAndroidAppTest
    • 对于测试目标,选择“An existing Android project”。使用浏览按钮选择MyAndroidApp
    • 取消选择“使用默认位置”。这会将位置更改为位于 tests 目录下的 MyAndroidApp 项目中
    • 点击完成

    当它被创建时,如果你收到An internal error occurred during: "Refreshing workspace". 错误(或其他错误),请忽略它。点击确定。

    -清理MyAndroidApp项目

    即使项目位于<workspace path>/MyAndroidApp/tests 目录中,它也会在包资源管理器中显示为普通的 Eclipse 项目。 清理MyAndroidAppTest 项目。 这对我有用。

    编辑

    如果您在 Eclipse 中上传到 SVN(通过同步 MyAndroidApp 项目,而不是 MyAndroidAppTest 项目),您需要做更多的事情(我现在刚刚完成)。 因此,当您更新您的其他工作副本时,它将拉下/tests 目录。 MyAndroidAppTest 项目不会自动显示在 Package Explorer 中。 所以你需要去 File.. Import...Existing Projects into Workspace.... 然后通过浏览到您的<workspace path>/MyAndroidApp/tests 目录来选择根目录并单击完成。

    【讨论】:

    • 工作正常。对我来说没有 SVN 问题。我正在使用 Ubuntu 10.04、Helios、Subclipse 和 Unfuddle。
    • 当我这样做时,我会在子目录“MyAndroidAppTestTest”(是的,有两个测试)而不是“测试”中获得测试项目。
    • @Kurt 如果您将“MyAndroidAppTestTest”重命名为“tests”,然后从现有源创建新项目,然后将新创建的项目重新命名为“MyAndroidAppTest”,问题就解决了。
    • 我和@Kurt 有同样的问题,这是一个错误吗?。
    • 我也有与@Kurt 和 Sergio 相同的问题,我同意这似乎是一个错误。如果你也有这个问题,请给我在这里创建的错误报告加星标:code.google.com/p/android/issues/detail?id=54876
    【解决方案2】:

    我在这里找到了这个问题的非常详细的解决方案。这似乎是一个 ADT 错误。

    http://jonblack.org/2012/11/24/creating-an-android-test-project-within-a-project

    不过,当我在第 5 步将测试项目导入回工作区时,我收到以下错误消息:

    java.io.FileNotFoundException: C:\projects\MyApp\com.myapp.test-test\project.properties ( The system could not finde the file specified ).
    

    我只是关闭了错误对话框,测试项目出现在我的工作区中,与我的 android 项目处于同一级别,但位置已正确设置为 MyApp/tests。 所以我写了一个测试,运行它,它成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多