I also recommend NUnit as a great starting point for your unit testing, because it is free, it has integration into Visual Studio (if you wish, but also can run standalone as well) and also can complement other testing frameworks (like MSTest) if you decide to use/buy later. In other words, you could have tests written using NUnit and MSTest coexisting.
Read A Step-by-Step Beginner Tutorial on Writing Unit Tests NUnit with C#.
As for mocking, I recommend the following:
- Moq - free and regularly updated on GitHub
- Rhino Mocks - free and regularly updated on website
- TypeMock - not free, but extremely powerful mocking framework that allows you to mock concrete types (including sealed classes) which allows you to test third party software, such as SharePoint, etc.