Skip to content

Commit

Permalink
Add description to readme
Browse files Browse the repository at this point in the history
  • Loading branch information
amclain committed Dec 28, 2022
1 parent 5e41c4d commit e9a3d1c
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@

Dependency injection and resolution at compile time or runtime.

Resolve is designed for swapping out dependencies in multi-target systems,
like embedded / IoT devices, where different hardware may be available depending
on which target the firmware is running on, or where physical hardware may be
missing all together when running the firmware on the host for development and
testing. That being said, Resolve also works for the traditional case of unit
testing, as the test environment is essentially just another type of target.

Resolve can be used in conjunction with mocks for testing, as they each have
their own advantages. Resolve has the benefit of not being linked to a process,
which means Resolve can be helpful for testing GenServers or other code that
runs in a process your test doesn't have direct access to. Resolve also allows
you to create throw-away anonymous modules for unit tests, rather than creating
named mock modules or factories.

## Installation

The package can be installed by adding `resolve` to your list of dependencies
Expand Down

0 comments on commit e9a3d1c

Please # to comment.