-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Labels
enhancementNew feature or requestNew feature or request
Description
When using nested tests, Expect is not injected into the outer class.
Example
@ExtendWith(SnapshotExtension::class)
class ExampleTest {
lateinit var expect: Expect
@Test
fun foo() {
expect.toMatchSnapshot("foo")
}
@Nested
inner class MyNestedTest {
@Test
fun bar() {
expect.toMatchSnapshot("bar") // Nullpointer `expect` is null
}
}
}This can be worked around by defining expect in the inner class
Work around example
@ExtendWith(SnapshotExtension::class)
class ExampleTest {
lateinit var expect: Expect
@Test
fun foo() {
expect.toMatchSnapshot("foo")
}
@Nested
inner class MyNestedTest {
lateinit var expect: Expect
@Test
fun bar() {
expect.toMatchSnapshot("bar") // Nullpointer `expect` is null
}
}
}Personally, I think it would be the most intiutive / least boilerplate to inject at the class with the @ExtendWith(SnapshotExtension.class) annotation. Or maybe if possible, walk the class tree and inject into all classes.
Philzen, bjoernmayer, koenpunt and raminqafPhilzen
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request