UI Test Types

Unit Test 

  • Unit test verifies one piece of code in isolation.
  • Code that is unit-testable is code has little dependencies on other modules, and does no I/O (no files, databases, also no Ajax calls, local-storage, DOM access and manipulation. Anything that touches a browser API is I/O).

end-2-end test 

  • End-to-end tests interact with your site like a user: loading pages, filling out forms, clicking buttons.
  • They are executed against a system that has all required components to be deployed and running
  • Test runs agains live database.
  • They are generally slower to write and run, but closely match the real user experience.

Integration Test

  • Integration test validates how multiple units of your application work together but are more lightweight than E2E tests.
  • They may have utilities to facilitate integration testing. For example, emulation of common browser APIs or robust mocking tools can stub out external API calls