次の4つのクラスがあります:DataConsumer、DataProducer、SomeQualifier、META-INF / Beans.xml、およびテスト。クラスファイルは次のようにコーディングされています。
public class DataConsumer {
private boolean loaded = false;
@Inject
@SomeQualifier
private String someString;
public void afterBeanDiscovery(
@Observes final AfterBeanDiscovery afterBeanDiscovery,
final BeanManager manager) {
loaded = true;
}
public boolean getLoaded() {
return loaded;
}
public String sayHello() {
return someString;
}
}
public class DataProducer {
@Produces
@SomeQualifier
private final String sample = "sample";
}
public @interface SomeQualifier {
}
単体テストは次のようになります。
public class WeldTest {
@Test
public void testHelloWorld() {
final WeldContainer weld = new Weld().initialize();
final DataConsumer consumer = weld.instance()
.select(DataConsumer.class).get();
Assert.assertEquals("sample", consumer.sayHello());
Assert.assertTrue(consumer.getLoaded());
}
}
ただし、getLoaded()を使用してassertTrueで失敗しているため、@Observesは起動されないようです。