DeepSampler is a stubbing framework for compound tests. A compound is a net of objects. A compound can be isolated from an application but its content is integrated.
The API is able to stub methods anywhere deep inside of a compound of any size without the need to manually move a stubbed instance from a test case into the compound.
For tests with large test data (called Samples) DeepSampler can separate test logic from test data by loading and saving test data in JSON-files. The JSON-files can be recorded by activating the record-mode and simply running a test case. If a stub is in record-mode, it routes calls to the original methods and collects all data that flows through the stub. This collected data can then be saved to JSON-files.
For light-way tests with smaller Samples, where using separate JSON-files might be unnecessary, DeepSampler provides an API that can be used to define Samples conveniently inside test classes. The API also comes with means to completely redefine the behavior of stubbed methods.
DeepSampler is made available under the terms of the MIT License (see LICENSE.md).
Copyright 2020 PPI AG (Hamburg, Germany)