Skip to content

Load json mocks from dynamically defined directories #57

Open
@XakepSDK

Description

@XakepSDK

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions