I am trying to follow uncle bob's clean architecture. where he mentioned that the test is part of the system and we should consider it as an important part.
and the test should be decoupled from the system to enable it to evolve independently,
the way we do that is to provide the super API which forces the system in the testable state.
so, in the clean archetechure, we have the
- Entities
- usecase
- UI
so, what is the way to implement the test in the system,
do we test suites for Entities and the Usecase?
or do we just test the Usecase and try to test the Entities indirectly?
and do we have to define the different sets to api just for testing, or should we use the input and output port of the usecase to test? if doing this way would it make the test too dependent on the system, and make it frazile?


