Reference for how to test a project.
Make your code make sense. Make refactoring easier, ( maybe when upgrading an old solution? )
- Class
- Method
- One line of code
No Input/Output We assume they work, and mock a reply.
- No database calls
- No network calls
- No file-system calls
Unit testing, but bigger ( more units )
Tests the integration We don't assume anything! ( no mocking )
- Dependencies 2. Databases 3. File system 4. Network
- No mocking
- End to end testing
- performance testing
- smoke testing
- End to End testing
- Integration testing (happy and unhappy paths)
- Unit testing (niche cases)