I started learning about ethereum and dapps just a week ago.I totally understand the need and importance of writing tests for an ethereum smart contract. But what I didn't understand is that I already spent a lot of time working and testing the contract on remix ide. Still why most of the course instructors and experts focus on writing tests on the local environment again?
Testing a software, or a smart contract, it's the same, is a bit more than making you sure that you have no bugs. You should read a few articles about why testing software. A non exhaustive liste of reasons is:
- no having to test manually each time you make a change on your code
- prevention regression
- explain what the code does and what to expect
- give confidence to others as they can see by themselves that it works by running your tests