Description
Proposal
We have a per-test directory for mocks. In resources, we have a such hierarchy:
mocks/{TestClassName}/{TestMethodName}/my-mock.json
Each mock file URL starts with a service name prefix which is taken from ConfigureWireMock#name
property. This way mocks are loaded in to the correct WireMockServer
instance.
If tests need something common, then you can put your mocks in a directory higher in hierarchy. If you put your mocks in
mocks/{TestClassName}
then those mocks will be loaded for all tests inside TestClassName
. You can put mocks in mocks
if you need something to be available in all tests.
The way I match mocks to the correct WireMockServer
might be unfeasible for some users. I guess they could put their mocks in another subdirectory, e.g mocks/{TestClassName}/{TestMethodName}/{ServerName}/my-mock.json
or name their mock files as {ServerName}.json
.
Would be nice to have something like this built-in in this extension. Currently I'm just hacking in Store
, get WireMockServer
and inject or clean-up stuff if I need. All of this is done in a custom BeforeTestExecutionCallback
p.s. ClasspathFileSource
might be a bottleneck for this use-case. In our implementation, I'm thinking about preloading all stubs in a in-memory store and load from it when needed.
References
No response
Activity