Based on the Sandro Mancuso's kata
- Java 11 (adopt openjdk)
- Eclipse 2020-09
- Apache Maven 3.5.4
Libraries have been constrained to be aligned with my employer.
- JUnit 5.7.0 (jupiter)
- AssertJ 3.8.1
- Mockito 3.6.28
- Cucumber 6.9.0 (java8/lambda StepsDef support)
Start using the skeleton branch. An implementation following IDD & Outside-in TDD is depicted in steps accessible as branches:
- 00 - Skeleton, defining:
- Console delivery mechanism, based on a simple library that allows to inject command builders and formatters.
- Console end to end Scenario Test, expected to be full stack. See:
features/delivery/console/end-2end/*.feature
&ConsoleAppE2EAT
- A clock wrapper is defined to eradicate non determinism in tests
- A user journey initial test for the basic 'exit' scenario. See:
features/delivery/console/user-journey/*.feature
&ConsoleUserJourneyAT
- 10 - User commands implementation with User Journey Test in GREEN & Actions sketch discovery
- 20 - Actions implementation, Action Components Test creation & Domain services sketch discovery
- 40 - Domain services implementations, Action Components Acceptance Test in GREEN
- 50 - Repository implementation & Integration Test in GREEN based on expected interface behavior (pending to apply Contract Test).
- 60 - End to end test in GREEN
In Preferences/Java/Editor/Content Asist/Favorites
, introduce the following favorites (I also removed the previous ones):
- org.assertj.core.api.Assertions
- org.mockito.ArgumentMatchers
- org.mockito.BDDMockito
- org.mockito.Mockito
- command+1 Quick fix. Very useful when you have a lot of red in your tests :) (thanks Sandro!)
- command+shift+R Search dialog for resources
- command+shift+T Search dialog for java types
- command+shift+O Search/Clean/Organize imports
- command+F11 Run last launched
For windows, use control instead of command