【问题标题】:Android JUnit report generationAndroid JUnit 报告生成
【发布时间】:2012-06-18 06:20:36
【问题描述】:

我已经在

阅读了答案

我收到以下错误:

BUILD FAILED
Target "emma" does not exist in the project.

【问题讨论】:

    标签: android code-coverage junit4 emma


    【解决方案1】:

    从您发布的日志和您已经查看的帖子来看,我假设您正在运行命令:

    ant emma debug install
    

    您的问题可能取决于许多因素,包括您安装的 android-sdk。如果您的版本为 13 或更低,则需要运行:

    ant coverage
    

    请提供更多信息,包括您正在运行的 sdk 版本、正在运行的确切命令以及运行位置(项目、lib-project、test-project)

    【讨论】:

    • 我在 android-14 上运行。我的测试项目和主项目是一样的。我在项目文件夹中运行命令(即与测试项目相同)。
    • 如果您正确设置了项目,则目标应该存在。从我所见,将测试项目拆分到主项目中的一个单独文件夹(即测试/)中是更好的做法。然后你会想在你的主文件夹中运行它(你可能需要用-t指定一个目标):android update project -p .然后进入你的/tests文件夹并输入:android update test-project -p . -m ..指向你的主项目.这还将为您生成一个构建 xml,该构建 xml 依赖于包含 emma 目标的 android ant xml。
    • 当我有一个主项目和一个不同的测试项目时,我的覆盖率报告生成良好,但我想问如果我们在创建时选择了正在测试的项目作为“这个项目”选项,我们将如何做测试项目,即我的测试和主项目都是相同的。我必须在同一个文件夹中运行更新项目和更新测试项目吗?如果我这样做,那么 ant emma debug install 或 ant emma debug install test 不起作用?在这种情况下该怎么做。
    • 也许我理解错了,但如果覆盖报告适用于单独的测试项目,为什么不这样做呢?如果我理解你,你的设置在同一个项目中(也就是在你的 src 目录中)有你的源文件和你的测试文件。这听起来不像是好的做法。 Android 可能特别支持拥有单独的测试项目,这样您就可以轻松地跟踪应用程序中的内容,而不会弄乱您的核心项目。有关更多信息,请参阅此developer doc 测试设置和结构。
    猜你喜欢
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多