According to this schema VS2010 Premium and Ultimate has a tool for checking Code Coverage - together with a few other testing tools. Does this support nUnit too, or just MS test?
相关问题
- Visual Studio 2010 randomly says the command line
- (ASP.NET) Project file must include 'WindowsBa
- Partial Form Class C# - Only display code view for
- Why does this code not compile?
- Does Visual Studio 2010 Professional support UML m
相关文章
- How to show location of errors, references to memb
- Log4Net Multiple Projects
- Compiling error in C++ project with C and C++ code
- How to use Mercurial from Visual Studio 2010?
- Attribute filter syntax for code coverage in TeamC
- VSIX: execute code on VS startup
- Copy different file to output directory for releas
- How do we alias a Sql Server instance name used in
To my knowledge it doesn't. Our TestMatrix tool does though.
After fiddling with this for a little over an hour, I could not get it to work properly. I was able to get the generic test running properly with instrumentation for NUnit 2.5.5 using nunit-console.exe. Although the NUnit console runner ran my test successfully via the generic VSTest, I was never able to generate code coverage results.
Although the test features of VS2010 sound great when reading about them, the implementation seems overly complex and very heavy. I've been using NUnit for years with great success and very low friction.
I decided to try out JetBrains dotCover beta and within 5 minutes I downloaded it, installed it, and was able to configure and use it very successfully. It integrates seemlessly into ReSharper 5 and just worked for my NUnit tests. The code highlighting is a great visual tool to quickly locate blocks of code that were not executed by the tests.
It's doable, but requires a bit of setup. I just got it working with xUnit. Presumably the below will work with NUnit too.
For this to work, you'll need three projects
A VS Test Project -- VSTest
Now when you run the VS2010 test, it'll correctly instrument the test dlls, run the code runner and gather the info into Visual Studio.
I tried every method I found on Google to enable that and then decided to give TestDriven.NET a try. It worked brilliantly: right-clik on the solution, test with coverage and done. Seriously, it couldn't be any easier.
I had the same problem and I found out a way to solve it. The project dll shown in "Code Coverage Detail" dialog is the wrong assembly to be instrumented and that's way is giving empty results. So you need to actually get that dll from another folder, it's in the unit test project folder! Since you added as a reference to your unit test project it will be there. So, for example, in my case I created a simple project calced Calculator and then created a unit test project called TestCalculator and added Calculator.dll as a reference in the unit test project. So in the "Code Coverage Detail" dialog I click on "Add Assembly" and I select Calculator.dll from the "..\TestCalculator\bin\Debug" folder. In that way it will work.
Theoretically, it should. There is even documentation for it on MSDN. Basically, you need to set up a "generic test project" which wraps the NUnit test. In practice, I've been trying to get it to work for almost three hours now and it still doesn't. The assembly is instrumented, but there are no coverage results.
I always get this message: "Empty results generated: none of the instrumented binary was used. Look at test run details for any instrumentation problems.", but no problems are reported in that file.
Also, a VSPerf error in the event log pops up. I submitted this as a bug to Microsoft. However, this might be related to my machine. Since I submitted that bug just now, I don't know yet whether others can reproduce the issue or not.