I'm using the Analyse Code Coverage tool in Visual Studio 2012. The report appears to be very pedantic about what is covered and I have no idea what else could be done to provide more coverage.
The code I am testing is this:
public class Factory<T> : IFactory<T> where T : new()
{
public T Create()
{
return new T(); // This line has only partial coverage.
}
}
The unit tests:
using System;
using Xunit;
public class Factory_Tests
{
[Fact]
public void Constructor_Works()
{
var target = new Factory<Exception>();
}
[Fact]
public void Create_ReturnsNewValue()
{
var target = new Factory<Exception>();
var actual = target.Create();
Assert.NotNull(actual);
}
}
The report claims that the line commented above has only partial coverage. What could I have possibly failed to test on this line?