ejb3unit
Добрый день.
Пытаюсь разобраться с такой непонятной штуковиной как ejb3unit
Есть a.jar который содердит:
@Local
interface A {...}
@Stateless
class AImpl implements A {
@EJB
B b;
public void doSomething() {
b.doSomething();
}
}
и есть b.jar
@Local
interface B {...}
@Stateless
class BImpl implements B {...}
соотвественно в eclipse это 2 разных проекта.
пишу тест
class Test extends MockedSessionBeanJUnit4Fixture<AImpl.cla ss> {
public void test() {
a = getBeanToTest();
b = getMock(B.class);
....
инициализация поведения B
....
a.doSomething();
}
}
теперь говорим run as -< junit
и получаем что @EJB B b; в классе AImpl осталась null. После небольшого гугления выясняем что если провернуть следующее:
классы проекта A лежат в A/build/classes а проекта B в B/build/classes
Если скопировать содержимое B/build/classes в A/build/classes то каким то чудом тест начинает проходить и NullPointerException изчезает.
т.е. как я понял интерфейсы A и B должны находиться в одном jar'e.
Это баг ejb3unit или нужно что то ещё сконфигурировать?
использую ejb3unit-2.0.0-SNAPSHOT т.е. с ejb3unit-2.0.0 сразу же получаю java.lang.ClassCastException: org.ejb3unit.asm.jar.Type
Пытаюсь разобраться с такой непонятной штуковиной как ejb3unit
Есть a.jar который содердит:
@Local
interface A {...}
@Stateless
class AImpl implements A {
@EJB
B b;
public void doSomething() {
b.doSomething();
}
}
и есть b.jar
@Local
interface B {...}
@Stateless
class BImpl implements B {...}
соотвественно в eclipse это 2 разных проекта.
пишу тест
class Test extends MockedSessionBeanJUnit4Fixture<AImpl.cla
public void test() {
a = getBeanToTest();
b = getMock(B.class);
....
инициализация поведения B
....
a.doSomething();
}
}
теперь говорим run as -< junit
и получаем что @EJB B b; в классе AImpl осталась null. После небольшого гугления выясняем что если провернуть следующее:
классы проекта A лежат в A/build/classes а проекта B в B/build/classes
Если скопировать содержимое B/build/classes в A/build/classes то каким то чудом тест начинает проходить и NullPointerException изчезает.
т.е. как я понял интерфейсы A и B должны находиться в одном jar'e.
Это баг ejb3unit или нужно что то ещё сконфигурировать?
использую ejb3unit-2.0.0-SNAPSHOT т.е. с ejb3unit-2.0.0 сразу же получаю java.lang.ClassCastException: org.ejb3unit.asm.jar.Type
