Using Moq to validate a set of services is not for the faint of heart, as they say, but if you need a quick and dirty way to verify your code is working, MoQ is for you. It is the best way to go about testing your code for errors without the risk of putting your test data at risk. MoQ has a lot of tricks up its sleeve and will show you a lot more than you think. The only drawback is that you need to be a test runner to get the best results. Fortunately, MoQ has a nice and slick user interface to boot. Having said that, you should probably do a little research and comparison shopping before making your next purchase.
The most important point is that you should not assume your tests will run the same way all the time. You can easily set up a test environment to suit your testing needs. One of the most important things to remember is that your test environment should be a safe and trustworthy place where your code can be stored and modified without the fear of breaking. Having said that, you may want to have a few different test environments in mind as a backup plan in case something goes wrong with one environment. This also means you need to be able to quickly and easily compare and contrast your test environments, especially if you are using a CI/CD pipeline. The best way to do this is to have a set of test CI/CD environments that you can quickly switch between as required. This way, you can keep your test environment fresh and ready to go for when you need it most.