Search code examples
unit-testingc#-4.0code-coveragenmock

Failing in Code coverage Test with a simple class constructor


I have a class:

 public class SourceServerProvider : ISourceServerProvider
    {
        private readonly ISourceServer _sourceServer;
        public SourceServerProvider()
            :this(new SourceServer())
        { }

        public SourceServerProvider(ISourceServer sourceServer)
        {
            _sourceServer = sourceServer;
        }
     }

MS code coverage test complaints to this block:

public SourceServerProvider()
            :this(new SourceServer())
        { }

I don't know how to write a unit test for above block. Please advise..


Solution

  • I just tested it with the followig code:

    public class SourceServerProvider : ISourceServerProvider
    {
    private readonly ISourceServer _sourceServer;
    public SourceServerProvider()
        : this(new SourceServer())
    { }
    
    public SourceServerProvider(ISourceServer sourceServer)
    {
        _sourceServer = sourceServer;
    }
    }
    
    public interface ISourceServer
    {
    }
    
    public class SourceServer : ISourceServer
    {
    }
    
    public interface ISourceServerProvider
    {
    }
    

    and wrote this test

    public class Class1
    {
        [Test]
        public void test()
        {
            var a = new SourceServerProvider();
        }
    }
    

    Code Coverage says it is fully covered: here

    so please add the result you are getting or create asimple test that call the default ctor