commit c8b4a7d7dfd3499b279082bbf1c8f8691f25ca10 Author: Jan Galinski <jan.galin...@holisticon.de> AuthorDate: Thu, 9 May 2013 12:03:31 +0200 Commit: Jan Galinski <jan.galin...@holisticon.de> CommitDate: Thu, 9 May 2013 12:03:31 +0200
enable constructor injection diff --git a/examples/trader-needle/src/main/java/org/jbehave/examples/trader/needle/NeedleTraderSteps.java b/examples/trader-needle/src/main/java/org/jbehave/examples/trader/needle/NeedleTraderSteps.java index 77be1d9..7cfb311 100644 --- a/examples/trader-needle/src/main/java/org/jbehave/examples/trader/needle/NeedleTraderSteps.java +++ b/examples/trader-needle/src/main/java/org/jbehave/examples/trader/needle/NeedleTraderSteps.java @@ -11,15 +11,8 @@ import org.jbehave.examples.trader.steps.TraderSteps; public class NeedleTraderSteps extends TraderSteps { @Inject - private TradingService injectedService; - - public NeedleTraderSteps() { - - } - - @Override - public TradingService getService() { - return this.injectedService; + public NeedleTraderSteps(final TradingService service) { + super(service); } } diff --git a/examples/trader-needle/src/test/java/org/jbehave/examples/trader/needle/NeedleTraderStepsConstructorInjectionTest.java b/examples/trader-needle/src/test/java/org/jbehave/examples/trader/needle/NeedleTraderStepsConstructorInjectionTest.java index dcf8cfd..c1d284b 100644 --- a/examples/trader-needle/src/test/java/org/jbehave/examples/trader/needle/NeedleTraderStepsConstructorInjectionTest.java +++ b/examples/trader-needle/src/test/java/org/jbehave/examples/trader/needle/NeedleTraderStepsConstructorInjectionTest.java @@ -5,29 +5,26 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; import org.jbehave.examples.trader.model.Trader; +import org.jbehave.examples.trader.needle.provider.TraderServiceInjectionProvider; import org.jbehave.examples.trader.service.TradingService; import org.junit.Rule; import org.junit.Test; -import de.akquinet.jbosscc.needle.annotation.InjectIntoMany; import de.akquinet.jbosscc.needle.annotation.ObjectUnderTest; import de.akquinet.jbosscc.needle.junit.NeedleRule; +/** + * Assure constructor injection with {@link TradingService} works. + * + * @author Jan Galinski, Holisticon AG + */ public class NeedleTraderStepsConstructorInjectionTest { private static final String BAR = "bar"; private static final String FOO = "foo"; @Rule - public final NeedleRule needleRule = new NeedleRule(); - - /** - * Constructor Injection on needleTraderSteps works. But needle creates a mock - * of {@link TradingService} by default. By using {@link InjectIntoMany}, a - * concrete instance is bound. - */ - @InjectIntoMany - private final TradingService tradingService = new TradingService(); + public final NeedleRule needleRule = new NeedleRule(new TraderServiceInjectionProvider()); @ObjectUnderTest private NeedleTraderSteps needleTraderSteps;