Ich arbeite an einer Java EE 7 (auf Wildfly 9.0.2) Anwendung und stolperte über einen Artikel http://www.oracle.com/technetwork/articles/java/intondemand-1444614.html. Hauptsächlich über:EJB No Interface View Test (Arquillain & Mockito)
vorzeitigen Extensibility ist die Wurzel etwas Böseen
Dieses Gefühl in bestimmten Fällen macht mir begegnet ist. Ich habe einige Klassen in eine No-Interface-Ansicht geändert. Die Implementierung selbst ist kein Problem, Testen ist jedoch.
Zum Beispiel habe ich diese 2 Klassen.
@Stateless
public class SomeBean {
public String getText()
{
return "Test text";
}
}
Und
@Stateless
public class SomeOtherBean {
@Inject
private SomeBean someBean;
public String getText()
{
return someBean.getText();
}
}
Ich möchte irgendwie, dass die someBean Eigenschaft mit vorzugsweise verspottet Objekt überschrieben. Ohne die SomeBean
und SomeOtherBean
Klasse zu ändern. Ich habe einige Beispiele versucht, aber sie funktionierten nicht zum Beispiel: https://github.com/arquillian/arquillian-showcase/tree/master/extensions/autodiscover/src/test/java/org/jboss/arquillian/showcase/extension/autodiscover
Hat jemand dieses vorher getroffen und eine Lösung gehabt?
Danke für Ihren Kommentar. Ich endete mit der '@ Alternative' Lösung + @Produces. Dies erlaubt mir, es richtig zu verspotten. Ich habe meine Antwort aktualisiert, wie ich sie benutzt habe. –