Due to the immutability of smart contracts, it’s crucial that they are tested thoroughly before they are deployed. When it comes to writing automated tests, developers have a couple of options: Solidity Tests, Javascript/Python/other language tests. Often, it’s useful to test contracts both ways, and you can see from this sample testing