Architecture Decision Records (ADR)
Architecture Decision Records (ADRs) are documents that capture important architectural decisions made during the development of a MiniMock.
All the ADRs have been approved and are considered final decisions for the project.
General ADRs
- Do We Really Need a New Mocking Framework? - Deciding whether to build a new mocking framework.
- Matching Target API in Mock API - Ensures the mock API closely mirrors the target API.
- How Strict Should MiniMock Be? - Deciding how strict the framework should be.
- No Built-in Assertion Feature - Users choose their preferred assertion framework.
- No Dependencies to Shared Libraries - Avoid dependencies on shared libraries.
- Documentation and Examples - Approach to documentation and examples for the framework.
- Logging and Debugging - Approach to logging and debugging within the framework.
- Creating Mocks - Decision on how to create mocks in the framework.
Feature Specific ADRs
- Support for Classes and Interfaces - Decision on supporting classes and interfaces in the mocking framework.
- Support for Constructors - Decision on supporting constructors in the mocking framework.
- Support for Methods - Decision on supporting methods in the mocking framework.
- Support for Properties - Decision on supporting properties in the mocking framework.
- Support for Events - Decision on supporting events in the mocking framework.
- Support for Indexers - Decision on supporting indexers in the mocking framework.
- Special cases
- Allowing Skipping Arguments in Mock Setup - Allows skipping arguments in mock setups for flexibility.
- Support for Protected Methods - Decision on whether to support mocking protected methods.
- Support for Generic Methods (WIP) - Decision on supporting generic methods in the mocking framework.
- Support for Asynchronous Methods (WIP) - Handling asynchronous methods in the mocking framework.
- Support for Virtual Methods (WIP) - Decision on supporting virtual methods in the mocking framework.
- Support for Overloads (WIP) - Decision on supporting method overloads in the mocking framework.
- Support for Out and Ref Parameters (WIP) - Decision on supporting out and ref parameters in the mocking framework.
- Support for Internal Methods (WIP) - Decision on supporting internal methods in the mocking framework.
- Support for Abstract Classes (WIP) - Decision on supporting abstract classes in the mocking framework.
- Support for Delegates (WIP) - Decision on supporting delegates in the mocking framework.
Unsupported Features
- Support for Extension Methods (WIP) - Decision on supporting extension methods in the mocking framework.
- Support for Sealed Classes (WIP) - Decision on supporting sealed classes in the mocking framework.
- Support for Static Members (WIP) - Decision on supporting static members in the mocking framework.