1. What is Mocking?
  2. Test Doubles
  3. Test Doubles explained
  4. What is Monkey Patching?
  5. When is mocking useful?
  6. Mocking in various situations
  7. Application using random
  8. Mock random generator in BEGIN
  9. Mock random generator Mock::Sub
  10. Function that (also) writes to STDOUT or STDERR
  11. Capture STDOUT and STDERR in functions call
  12. Code with STDIN
  13. Mock STDIN
  14. Simple game to test
  15. Test simple game (small)
  16. Test simple game (big)
  17. Test simple game (exact)
  18. Exercise: test game
  19. Testing time-dependent module
  20. Module with operation based on date
  21. Mocking fixed absolute time
  22. Module with session timeout
  23. Mocking relative Time
  24. Mocking class
  25. Application using the class
  26. Testing the 3rd party class
  27. Testing our app using the 3rd party class
  28. Testing our app mocking the 3rd party class
  29. Mocking function of external web call
  30. Test the application end-to-end
  31. Mocked web test
  32. Mocking to reproduce error in our function
  33. Mocking exception
  34. Using MetaCPAN::Client
  35. Mocking MetaCPAN::Client
  36. Override printing functions (mocking)
  37. Monkey Patching
  38. Test STDIN