Вызов assertArrayEquals в тесте junit, выполненном с использованием ant - PullRequest
0 голосов
/ 20 января 2012

Я использую ant для создания своего проекта, а я использую junit для написания тестов.Я сталкиваюсь со странной проблемой.Рассмотрим код ниже

import junit.framework.*;

public class Test extends TestCase {

    public Test(String name) {
       super(name);
    }

    public testA() {
          //..Code 

          Assert.arrayEquals(expected,actual) //This does not work
          org.junit.Assert.arrayEquals(expected,actual) //This works !

    }
}

Почему мне нужно добавить org.junit и не иметь возможности напрямую использовать класс Assert? .Я настроил junit в моем build.xml следующим образом:

<property name="lib" value="./lib" />
<property name="classes" value="./build/classes" />
<property name="test.class.name" value="Test"/>


<path id="test.classpath">
      <pathelement location="${classes}" />
      <pathelement location="./lib/junit-4.10.jar" />
      <fileset dir="${lib}">
            <include name="**/*.jar"/>
      </fileset>
</path>


<target name="test" depends="compile">
        <junit fork="yes" haltonfailure="yes">
            <test name="${test.class.name}" />
            <formatter type="plain" usefile="false" />
            <classpath refid="test.classpath" />
          </junit> 
</target>

1 Ответ

0 голосов
/ 20 января 2012

Изменение

import junit.framework.*;

до

 import static org.junit.Assert.*;

Я не совсем уверен, для чего предназначен пакет junit.framework, но статический трюк импорта является распространенным решением и задокументирован на странице Javadoc Assert .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...