WELD-001408 Unsatisfied dependencies for type [Logger] with qualifiers [@Default] at injection point [[Feld] mit arquillian
Ich bin mit einem basic-unit, arquillian test, mit dem Greeter-Beispiel auf dem arquillian-Website. Der einzige Unterschied ist, mache einen log.debug in den GRÜßEN(PrintStream to, String name) Funktion in Greeter.java. Bin mit slf4j für das logging.
Greeter.java
package org.arquillian.example;
import java.io.PrintStream;
import javax.inject.Inject;
import org.slf4j.Logger;
public class Greeter {
@Inject
private Logger log;
public void greet(PrintStream to, String name) {
log.debug("Greeter Testing");
to.println(createGreeting(name));
}
public String createGreeting(String name) {
return "Hello, " + name + "!";
}
}
GreeterTest.java
package org.arquillian.example;
import javax.inject.Inject;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(Arquillian.class)
public class GreeterTest {
@Inject
Greeter greeter;
@Deployment
public static JavaArchive createDeployment() {
return ShrinkWrap.create(JavaArchive.class)
.addClass(Greeter.class)
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
}
@Test
public void should_create_greeting() {
Assert.assertEquals("Hello, Earthling!",
greeter.createGreeting("Earthling"));
greeter.greet(System.out, "Earthling");
}
}
Bin immer WELD-001408 Unsatisfied dependencies for type [Logger] with qualifiers [@Default] at injection point [[Feld] @Inject private org.arquillian.Beispiel.Greeter.log -] Fehler beim ausführen des Tests. Kann mir bitte jemand helfen?
InformationsquelleAutor Kevin Joymungol | 2013-11-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein CDI-Problem. Sie nicht haben, einen Produzenten für Ihre
Logger
in den ersten Platz.Zweitens, solche Hersteller sollte Hinzugefügt werden, um die ShrinkWrap-Bereitstellung.
Produzent für den Logger ist in der Regel so geschrieben, wie Z:
Dieser Produzent erhält eine Injektion Punkt und geht zur zurückkehren, ein SLF4J
Logger
Instanz. Die Instanz hat den gleichen Namen wie die Klasse, in der die injection-point.InformationsquelleAutor Vineet Reynolds
Veränderung in der bean.xml bean-discovery-Modus, um alle
InformationsquelleAutor Armen Arzumanyan
Statt Injektion Logger, es funktioniert nur für mich, wenn ich verwendete LoggerFactory.
InformationsquelleAutor Fhighlander
In meinem Fall ich muss den Injektionen programmgesteuert
Import:
Initialisierung
InformationsquelleAutor Rzv Razvan