Closed dekar91 closed 4 years ago
How are you setting the restDocumentation
field? In the Kotlin WebMVC example project it's done via a JUnit 4 rule:
@get:Rule
val restDocumentation = JUnitRestDocumentation()
However, a JUnit 4 rule does not work in a JUnit 5 test. The exception is reporting that a JUnit 4 rule is used somewhere.
We use the following pattern for JUnit 5. It's provided via the extension
@BeforeEach
fun setUp(restDocumentation: RestDocumentationContextProvider) {
...
mockMvc = MockMvcBuilders
...
.apply<StandaloneMockMvcBuilder>(
MockMvcRestDocumentation.documentationConfiguration(restDocumentation)
I also don't think that you need @AutoConfigureMockMvc
if you create it yourself in the setUp method.
Seems i made the same. Removing @AutoConfigureMockMvc
does not change anything.
I pushed my test project here https://github.com/dekar91/autorest_test
I've removed liquibase and all that does not make sense to make project readable.
You are using the JUnit 4 test rule JUnitRestDocumentation
:
https://github.com/dekar91/autorest_test/blob/master/src/test/java/com/example/analyzer/ApiControllerTest.java#L54
So removing this line and changing setUp to setUp(restDocumentation: RestDocumentationContextProvider)
should fix it.
How it does work. Thanks!
HI! I user Dpring Boot and Junit5. I've configured my project closer to kotlin-mvc example:
build.gradle:
But should I try to run tests I get an error:
How could I fix it?