簡體   English   中英

錯誤:軟件包org.junit不存在

[英]error: package org.junit does not exist

當我嘗試運行我的ant文件時,我不斷收到這些錯誤。

  [javac] Compiling 8 source files to C:\\Users\\FaradaysCage\\git\\mancala\\build [javac] C:\\Users\\FaradaysCage\\git\\mancala\\src\\tests\\BoardDataTest.java:1: error: package org.junit does not exist [javac] import static org.junit.Assert.assertEquals; [javac] ^ [javac] C:\\Users\\FaradaysCage\\git\\mancala\\src\\tests\\BoardDataTest.java:1: error: static import only from classes and interfaces [javac] import static org.junit.Assert.assertEquals; [javac] ^ [javac] C:\\Users\\FaradaysCage\\git\\mancala\\src\\tests\\BoardDataTest.java:2: error: package org.junit does not exist [javac] import org.junit.Test; [javac] ^ [javac] C:\\Users\\FaradaysCage\\git\\mancala\\src\\tests\\BoardDataTest.java:8: error: cannot find symbol [javac] @Test 

這是我的螞蟻構建文件

<project name="Mancala" default="fullBuild" basedir=".">
    <description>
    Build file for Mancala program. Currently handles compilation
    and distribution. Will also include automated testing and
    generation of documentation.
  </description>
    <!-- set global properties for this build -->
    <property name="src" location="src" />
    <property name="build" location="build" />
    <property name="build.test" location="build/tests" />
    <property name="dist" location="dist" />
    <property name="test" location="src/tests" />
    <property name="docs" location="docs" />
    <property name="test.report" location="testreport" />

    <!-- Define the classpath which includes the junit.jar-->
    <!-- and the classes after compiling-->
    <path id="junit.class.path">
        <pathelement location="lib/junit-4.11.jar" />
        <pathelement location="lib/hamcrest-core-1.3.jar" />
        <pathelement location="${build}" />
    </path>

    <target name="init">
        <!-- Create the time stamp -->
        <tstamp />
        <!-- Create the build directory structure used by compile -->
        <mkdir dir="${build}" />
        <!-- Create the testreport directory used by Junit -->
        <mkdir dir="${test.report}" />
        <!-- Create the build.test directory used by compile & Junit -->
        <mkdir dir="${build.test}" />
    </target>

    <target name="compile" depends="init" description="compile the source">
        <!-- Compile the java code from ${src} into ${build} -->
        <javac srcdir="${src}" destdir="${build}" />
        <javac srcdir="${test}" destdir="${build.test}" />
    </target>

    <!-- Run the JUnit Tests -->
    <!-- Output is XML, could also be plain-->
    <target name="junit" depends="compile">
        <junit printsummary="on" fork="true" haltonfailure="yes">
            <classpath>
                <classpath refid="junit.class.path" />
                <pathelement location="${build.test}" />
                <formatter type="plain" />
                <batchtest todir="${test.report}">
                    <fileset dir="${test}">
                        <include name="**/*Test*.java" />
                    </fileset>
                </batchtest>
            </classpath>
        </junit>
    </target>

    <target name="doc" description="generate documentation">
        <mkdir dir="${docs}" />
        <javadoc sourcepath="${src}" destdir="${docs}">
            <fileset dir="${src}" />
        </javadoc>
    </target>

    <target name="dist" depends="compile" description="generate the distribution">
        <!-- Create the distribution directory -->
        <mkdir dir="${dist}/lib" />

        <!-- Put everything in ${build} into the Mancala-${DSTAMP}.jar file -->
        <jar jarfile="${dist}/lib/Mancala-${DSTAMP}.jar" basedir="${build}" />
    </target>

    <!-- Runs the compiled application -->
    <target name="run" depends="compile">
        <java classname="MancalaApp">
            <classpath>
                <pathelement location="${build}" />
            </classpath>
        </java>
    </target>

    <!--Add unit tests to build once implemented-->
    <target name="fullBuild" depends="dist, doc, junit" description="create application, docs, and tests">
    </target>

    <target name="clean" description="clean up">
        <!-- Delete the ${build} and ${dist} directory trees -->
        <delete dir="${build}" />
        <delete dir="${dist}" />
        <delete dir="${docs}" />
        <delete dir="${build.test}" />
        <delete dir="${test.report}" />
    </target>
</project>

我知道我不以某種方式不將junit.jar包含到我的構建中,但是應該將其包含在內,因為它包含在我的路徑ID中,並且我不知所措地想出什么地方出了問題。

先感謝您

創建測試的<javac>任務需要一個類路徑:

<javac srcdir="${test}" destdir="${build.test}" classpathref="junit.class.path" />

順便說一句,以下內容看起來不正確:

<junit printsummary="on" fork="true" haltonfailure="yes">
    <classpath>
        <classpath refid="junit.class.path" />
        <pathelement location="${build.test}" />
        <formatter type="plain" />
        <batchtest todir="${test.report}">
            <fileset dir="${test}">
                <include name="**/*Test*.java" />
            </fileset>
        </batchtest>
    </classpath>
</junit>

<formatter><batchtest>元素不應嵌套在<classpath> 它們應直接位於<junit> 應該更像是:

<junit printsummary="on" fork="true" haltonfailure="yes">
    <classpath>
        <classpath refid="junit.class.path" />
        <pathelement location="${build.test}" />
    </classpath>
    <formatter type="plain" />
    <batchtest todir="${test.report}">
        <fileset dir="${test}">
            <include name="**/*Test*.java" />
        </fileset>
    </batchtest>
</junit>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM