A good unit test is an expression of the intent of the programmer that wrote the unit of code. How would Copilot know what your intent was?
What Copilot does is to test exactly what the code is currently doing… which kinda defeats the purpose.
But it does raise a good point, because that’s usually exactly what teams are asked to do (especially when there’s a high coverage requirement). It’s completely pointless busywork, but that’s what makes it perfect for Copilot.
Copilot happily writes failing testa too, TDD style. It just generates code tests that are very common and probably won’t catch those hard to miss cases anyway.
A good unit test is an expression of the intent of the programmer that wrote the unit of code. How would Copilot know what your intent was?
What Copilot does is to test exactly what the code is currently doing… which kinda defeats the purpose.
But it does raise a good point, because that’s usually exactly what teams are asked to do (especially when there’s a high coverage requirement). It’s completely pointless busywork, but that’s what makes it perfect for Copilot.
Copilot Chat uses GPT-4 and can see more context than just the line you’re on. It has more reasoning than the autocomplete model.
Copilot happily writes failing testa too, TDD style. It just generates code tests that are very common and probably won’t catch those hard to miss cases anyway.