You may have chosen to implement a web interface or a command line user interface, or perhaps another type of UI.
These UIs can be divided into two categories, server-side (e.g. web interface) and client-side (e.g. command line).
Implement a UI from the opposite category.
- Avoid testing the same logic from multiple test suites
- Avoid coupling your business logic to specifics of different UIs (e.g. if ui == ‘cli’ then … else …).
- Can you deploy your UI independently of your game rules? Could it be packaged up into a separate Gem?
Once you have implemented your alternative UI, go here.