Подтвердить что ты не робот

Ant Задача junit не сообщает подробности

Я попытался написать ant с тестом 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

чтобы сузить проблему, я создал отдельный проект это мой build.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 > папка

 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? Так что в моем реальном случае сбоя я не могу устранить мои вопросы?

4b9b3361

Ответ 1

Вы должны использовать элемент 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 в руководстве ant.

Ответ 2

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

EDIT: вам нужен статический тест?

public class utilTest extends TestCase {
  public void testfun() {
    assertTrue(true);
  }
}

EDIT: попробуйте использовать аргумент 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>