Skip to content

Commit 29249af

Browse files
committed
[Cdi2] Do not add step definitions to the synthetic bean archive
Fixes: #2241
1 parent 13d4fbc commit 29249af

File tree

2 files changed

+29
-8
lines changed

2 files changed

+29
-8
lines changed

.github/workflows/build.yml

+2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ jobs:
3030
run: mvn install -DskipTests=true -DskipITs=true -Darchetype.test.skip=true -Dmaven.javadoc.skip=true -B -V --toolchains .github/workflows/.toolchains.xml
3131
- name: test
3232
run: mvn verify -P-spotless-apply --toolchains .github/workflows/.toolchains.xml
33+
- name: test cdi2-weld
34+
run: cd cdi2 && mvn verify -Pcdi2-weld --toolchains .github/workflows/.toolchains.xml
3335

3436
javadoc:
3537
name: 'Javadoc'

cdi2/src/test/java/io/cucumber/cdi2/Cdi2FactoryTest.java

+27-8
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66
import javax.enterprise.context.ApplicationScoped;
77
import javax.enterprise.inject.Vetoed;
8+
import javax.inject.Inject;
89

910
import static org.hamcrest.MatcherAssert.assertThat;
1011
import static org.hamcrest.core.Is.is;
1112
import static org.hamcrest.core.IsEqual.equalTo;
1213
import static org.hamcrest.core.IsNot.not;
1314
import static org.hamcrest.core.IsNull.notNullValue;
1415
import static org.junit.jupiter.api.Assertions.assertAll;
15-
import static org.junit.jupiter.api.Assertions.assertNotNull;
1616

1717
class Cdi2FactoryTest {
1818

@@ -56,26 +56,45 @@ static class ApplicationScopedBean {
5656
void shouldCreateApplicationScopedInstance() {
5757
factory.addClass(ApplicationScopedBean.class);
5858
factory.start();
59-
ApplicationScopedBean cdiStep = factory.getInstance(ApplicationScopedBean.class);
59+
ApplicationScopedBean bean = factory.getInstance(ApplicationScopedBean.class);
6060
assertAll(
6161
// assert that it is is a CDI proxy
62-
() -> assertThat(cdiStep.getClass(), not(is(ApplicationScopedBean.class))),
63-
() -> assertThat(cdiStep.getClass().getSuperclass(), is(ApplicationScopedBean.class)));
62+
() -> assertThat(bean.getClass(), not(is(ApplicationScopedBean.class))),
63+
() -> assertThat(bean.getClass().getSuperclass(), is(ApplicationScopedBean.class)));
6464
factory.stop();
6565
}
6666

67+
static class UnmanagedBean {
68+
69+
}
70+
6771
@Test
6872
void shouldCreateUnmanagedInstance() {
6973
factory.addClass(UnmanagedBean.class);
7074
factory.start();
71-
assertNotNull(factory.getInstance(UnmanagedBean.class));
72-
UnmanagedBean cdiStep = factory.getInstance(UnmanagedBean.class);
73-
assertThat(cdiStep.getClass(), is(UnmanagedBean.class));
75+
UnmanagedBean bean = factory.getInstance(UnmanagedBean.class);
76+
assertThat(bean.getClass(), is(UnmanagedBean.class));
7477
factory.stop();
7578
}
7679

77-
static class UnmanagedBean {
80+
static class OtherStepDefinitions {
81+
82+
}
7883

84+
static class StepDefinitions {
85+
86+
@Inject
87+
OtherStepDefinitions injected;
88+
89+
}
90+
91+
@Test
92+
void shouldInjectUnmanagedInstance() {
93+
factory.addClass(StepDefinitions.class);
94+
factory.start();
95+
StepDefinitions stepDefinitions = factory.getInstance(StepDefinitions.class);
96+
assertThat(stepDefinitions.injected, is(notNullValue()));
97+
factory.stop();
7998
}
8099

81100
}

0 commit comments

Comments
 (0)