Муравьиная задача не сообщает подробности - PullRequest
23 голосов
/ 02 апреля 2011

Я пытался написать муравей с помощью теста JUnit, но получаю следующий результат:

unittest:
    [junit] Running com.mytest.utiltest
    [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
    [junit] Test com.mytest.utiltest FAILED

это просто показывает ошибку без деталей печати, я указываю ниже параметр в build.xml, также пытался начать с ant -v or ant -debug, но не повезло.Кто-нибудь может помочь?

<junit printsummary="yes" showoutput="true">

ant 1.8.2, sun jdk1.6.0_20, junit 4.8.2

чтобы сузить проблему, я создал отдельный проект, это моя сборка.xml

<project name = "TestPrj" default="unittest" basedir = ".">

    <target name="unittest" >
        <junit printsummary="yes" showoutput="true" >
            <classpath>
                <pathelement location="./junit-4.8.2.jar"/>
                <pathelement location="./ant-junit4.jar"/>
            </classpath>
            <test name = "com.mytest.unittest.SimpleTest" todir="."/>
        </junit>
    </target>

</project>

ниже - simpletest.java

package com.mytest.unittest;

import junit.framework.TestCase;


public class SimpleTest extends TestCase{
    public void testFirst()
    {
        assertTrue(true);
    }

}

C: \ TestPrj> ant

Buildfile: C:\TestPrj\build.xml

unittest:
    [junit] Running com.mytest.unittest.SimpleTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0 sec

BUILD SUCCESSFUL
Total time: 0 seconds

C: \ TestPrj> dir

 Directory of C:\TestPrj

04/02/2011  02:00 PM    <DIR>          .
04/02/2011  02:00 PM    <DIR>          ..
04/02/2011  01:56 PM               280 .classpath
04/02/2011  01:54 PM               519 .project
04/02/2011  02:00 PM             7,120 ant-junit4.jar
04/02/2011  02:00 PM               403 build.xml
04/02/2011  01:55 PM    <DIR>          com
11/17/2010  05:36 PM           237,344 junit-4.8.2.jar
               5 File(s)        245,666 bytes
               3 Dir(s)  28,451,311,616 bytes free

Почему не генерируются результаты / подробности / отчет JUnit? Чтобы в моем случае не удалось устранить неполадки в моих вопросах?

Ответы [ 2 ]

40 голосов
/ 02 апреля 2011

Вы должны использовать элемент formatter внутри задачи junit.Форматировщик создаст файл отчета по умолчанию, но вы можете принудительно распечатать результаты на экране.Вы можете использовать два средства форматирования: один для вывода на экран, другой для вывода в файл.

Обратите внимание, что вам больше не нужны атрибуты printsummary="yes" и showoutput="true" в задаче junit.Форматировщик теперь заботится о выводе.

<project name = "TestPrj" default="unittest" basedir = ".">

<target name="unittest" >
    <junit>
        <classpath>
            <pathelement location="./junit-4.8.2.jar"/>
            <pathelement location="./ant-junit4.jar"/>
        </classpath>
        <formatter type="plain" usefile="false" /> <!-- to screen -->
        <formatter type="plain" /> <!-- to file -->
        <test name = "com.mytest.unittest.SimpleTest" todir="."/>
    </junit>
</target>

</project>

Прочтите страницу junit в руководстве по муравью для получения дополнительной информации.

1 голос
/ 02 апреля 2011

Не могли бы вы опубликовать фрагмент, который вызывает junit из build.xml здесь?Может быть несколько причин сбоя сборки.Кроме того, пожалуйста, опубликуйте тестовый пример, который вы пытаетесь проверить.

РЕДАКТИРОВАТЬ : Вам нужен статический тест для проверки?1009 *: попробуйте использовать аргумент outfile

<target name="unittest">
    <junit printsummary="yes" showoutput="true">
        <classpath>
            <pathelement location="./junit-4.8.2.jar"/>
            <pathelement location="./ant-junit4.jar"/>
        </classpath>

        <formatter type="plain" />

        <test name="com.mytest.unittest.SimpleTest" outfile="./testresult" />
    </junit>
    <fail message="test failed" if="test.failure" />
</target>
...