What is the basic difference between, a **test automation framework** and a **testing tool**?

For example `nunit` is a test automation framework, but on the other hand `Resharper` is a testing tool. Both are used for testing the `C#` code.

What is the difference between them? 

I mean why is one called a test framework and the other a testing tool?