Ошибка при импорте файла при запуске скрипта Junit Test из скрипта ant - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть некоторый тестовый код JUnit, который читает файл и импортирует его в мой проект, а затем основывается на каком-то параметре, который я решаю, тест пройден успешно или нет.Когда я запускаю его из Eclipse, он работает нормально.но когда я собираюсь запустить его из какого-то скрипта ant, он получит Exception, как это.

org.xml.sax.SAXException: Premature end of file.
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.
    at .service.data.excel.poi.HandlerServicePoiXssfEventImpl$1.fatalError
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)

Мой тестовый код выглядит так

fileReference = "test/testfiles/namefile.xlsx";
        data = communicationService.readFileFromDisc(fileReference, null);
        // Now, let's try to import tender file.
        result = dataHandlerService.importFile(
                new ByteArrayInputStream(data));

        log.info("+++ Result is: " + result);
        //then some assert function

, а скрипт ant - как

<target name="prepare" depends="resolve">
        <mkdir dir="${build.dir}" />
        <mkdir dir="${build.test.classes.dir}" />
        <mkdir dir="${build.test.reports.dir}" />

        <path id="test.cp">
            <fileset dir="${lib.test.dir}">
                <include name="junit-4.8.2.jar" />
                <include name="dozer-*.jar" />
            </fileset>
            <fileset dir="${lib.dir}">
                <include name="*.jar" />
            </fileset>
            <fileset dir="${lib.apache.dir}">
                <include name="*.jar" />
            </fileset>
        </path>
    </target>

    <target name="tests.compile" depends="prepare">
        <javac destdir="${build.test.classes.dir}" excludes="/backend/security/**/*.*" debug="true" optimize="true" deprecation="false" failonerror="true">
            <src path="${src.test.dir}" />
            <src path="${src.dir}" />

            <classpath>
                <path refid="test.cp" />
            </classpath>
        </javac>
        <copy file="test/src/dozer.properties" todir="${build.test.classes.dir}" />
        <copy file="test/src/test.log4j.properties" todir="${build.test.classes.dir}" />
        <copy todir="${build.test.classes.dir}/testApplicationContexts">
            <fileset dir="${src.test.dir}/testApplicationContexts" />
        </copy>


        <copy todir="${build.test.classes.dir}/test/testfiles">
                <fileset dir="${basedir}/test/testfiles" />
        </copy>
    </target>

    <target name="tests.run" depends="tests.compile">
        <junit fork="yes" forkmode="once" haltonfailure="no" showoutput="no" printsummary="yes" maxmemory="256m">
            <jvmarg value="-Dlog4j.configuration=test.log4j.properties"/>

            <formatter type="xml" />
            <classpath>
                <pathelement location="${build.test.classes.dir}" />
                <path refid="test.cp" />
            </classpath>
            <batchtest todir="${build.test.reports.dir}">
                <fileset dir="${src.test.dir}">
                     <include name="**/ImportTest.java" /> 
                </fileset>
            </batchtest>
        </junit>

Тестовый код не получает успеха, если я запускаю его из ant-сценария, но получает успех, если я запускаю его из eclipse как Run As -> Junit Test .Где моя проблема?Разве это не загружает полный файл правильно, когда я запускаю из скрипта муравья ???

...