java - 使用 Ant : ClassNotFoundException: org. junit.Test 运行 Android JUnit 测试

标签 java android ant junit junit3

我正在尝试为使用 Ant 运行的 Android 应用程序进行 JUnit 测试。 使用Eclipse时,没有问题,全部编译完毕,可以运行,没有问题。

目前我收到了 org.junit.Test 的 ClassNotFoundException。

我正在运行以下命令

ant clean debug - success
ant uninstall - success
ant installt - success
ant test - failure

错误日志:

test:
     [echo] Running tests ...
     [exec] INSTRUMENTATION_RESULT: shortMsg=java.lang.ClassNotFoundException
     [exec] INSTRUMENTATION_RESULT: longMsg=java.lang.ClassNotFoundException: org.junit.Test
     [exec] INSTRUMENTATION_CODE: 0

我想,它缺少 junit.jar 文件。我将其添加到我的 ANT_HOME/lib 目录中,但没有任何效果。 ant-junit.jar 库已经在“ANT_HOME/lib”中,我不需要将其复制过来。

我还尝试将其添加到我的测试项目的类路径中并将其标记为导出。同样在这种情况下,结果保持不变。

我还让 eclipse 生成一个 build.xml 并将其与 android 更新项目生成的文件合并。这没有任何区别,我收到了同样的错误。

我确信我在这里错过了一些很容易的东西。如果需要更多配置详细信息,我将很乐意提供。我感谢您的帮助。

构建.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project name="FSTest" default="help">
    <property file="local.properties" />
    <property file="ant.properties" />
    <property environment="env" />
    <condition property="sdk.dir" value="${env.ANDROID_HOME}">
        <isset property="env.ANDROID_HOME" />
    </condition>
    <loadproperties srcFile="project.properties" />
    <fail
            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
            unless="sdk.dir"
    />
    <import file="custom_rules.xml" optional="true" />
    <import file="${sdk.dir}/tools/ant/build.xml" />   
</project>

ant.属性:

tested.project.dir=../FS
external.libs.dir=libs

项目属性:

target=android-11

最佳答案

问题出在我的 build.xml 文件中。我根据这里给出的例子修改了它:http://www.vogella.com/articles/ApacheAnt/article.html此后它起作用了。

这些行是造成差异的行:

  <path id="junit.class.path">
    <pathelement location="libs/junit.jar" />
    <pathelement location="${build.dir}" />
  </path>

关于java - 使用 Ant : ClassNotFoundException: org. junit.Test 运行 Android JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18718651/

相关文章:

eclipse - 我需要 Eclipse 来部署我的 ANT 脚本构建的 WAR 文件,而不是它在内部构建的文件

Maven ant 任务部署到公共(public)关系存储库而不是指定的 url

java - 使用 arrayAdapter 显示从多个 Firebase 数据库引用获取的数据

java - 字符串数组初始化作为构造函数参数

android - 每当我尝试创建一个新的 react 函数时,未定义都不是一个函数

Android - 使用文档中未提供的语言

java - 使用 apache ant 验证 Javsacsript 语法

java - 执行调度同步?

java - 更改 FixtureDef 属性 Java Libgdx

android-layout - 如何在android中从左到右动画效果启动启动 Activity (第一个 Activity )