LINUX.ORG.RU

[java][junit][shell] run

 ,


0

1

всем привет

есть пример на яве:

package fura;

import org.apache.commons.lang.StringUtils;
import org.junit.Test;

public class MyTestCase
{
        @Test
        public void isEmpty()
        {
                assert StringUtils.isBlank(null);
                assert StringUtils.isBlank("");
        }

        @Test
        public void trim()
        {
                assert "foo".equals(StringUtils.trim("  foo   "));
        }
}
компилю и запускаю его
javac -classpath libs/commons-lang-2.6.jar:libs/junit-4.10.jar:libs/testng-6.4.jar:. MyTestCase.java
java -classpath libs/commons-lang-2.6.jar:libs/junit-4.10.jar:libs/testng-6.4.jar:. org.junit.runner.JUnitCore MyTestCase
результат:
JUnit version 4.10
Exception in thread "main" java.lang.NoClassDefFoundError: MyTestCase (wrong name: fura/MyTestCase)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

а если убрать
package fura;
то все ок:
JUnit version 4.10
..
Time: 0,004

OK (2 tests)

что я делаю не так?

бтв запускать

java ... fura.MyTestCase
тоже пробовал:
JUnit version 4.10
Could not find class: fura.MyTestCase

Time: 0,005

OK (0 tests)

спасибо

★★★

java -classpath libs/commons-lang-2.6.jar:libs/junit-4.10.jar:libs/testng-6.4.jar:. org.junit.runner.JUnitCore MyTestCase

java -classpath libs/commons-lang-2.6.jar:libs/junit-4.10.jar:libs/testng-6.4.jar:. org.junit.runner.JUnitCore fura.MyTestCase

Так заработает с пэкаджем. MyTestCase.class должен быть в каталоге fura.
Надо полное имя класса указывать, вместе с пакетом.


А еще:

assert StringUtils.isBlank(null);

это не junit. Посмотрите в сторону junit'овских ассертов, а также в сторону Hamcrest matchers.

zhuravlik ★★★★
()
Ответ на: комментарий от zhuravlik

охщи, спасибо, помогло!

и за мавен спасибо - поразбираюсь

fura13 ★★★
() автор топика

javac создает структуру каталогов, соответствующих пакетам.

note173 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.