I am attempting to make a custom upgrade of a project which is based on an old version of Laravel. Part of this upgrade will be updating it to the current version of Laravel.
This project has no unit tests.
I am writing tests for the project before upgrading as a means of reducing the risk of something being broken after the upgrade.
Since this is a huge project writing 100% test coverage would be very time consuming so instead I want to write tests which only cover parts of the code which use Laravel functions ( its ok for more code to be covered as long as the Laravel function calls are all covered ) It is also only necessary for each Laravel call to be tested once By that I mean if one function in some class somewhere calls a Laravel function and is covered by tests then there is no need for tests to cover other pieces of code which call the exact same laravel function.
My question is how can I make sure that I have achieved this?
Things I have tried / considered....
I am not aware of any code coverage reporting tool which shows you if any un-covered lines of code match an identical line of code which is covered.
I considered using a extension for my IDE which shows code coverage within the IDE because this would enable me to open function declarations from the code and see if it has been covered - however this would be be helpful because that would only show if the underlying function has been covered as a result of it being run from somewhere - it would not prove it has been covered as a result of the project code calling it.