Testing: Why Integration Testing? - A real life example where unit testing failed to catch bugs: twice

Sometimes students wonder: why do we need integration testing?

Why is unit testing not enough?

And why do we need to do human user acceptance testing?

Here is a real world example from one of the code bases for this course where unit tests all passsed, but human testing showed that there were still bugs: twice.

It also shows some of the limitations of AI and LLMs (since it was a bug in code written by CoPilot), but also the power of LLMs (it was Claude Code that diagnosed the problem and the solution)