using System.Collections.Generic;
using System.Threading.Tasks;
public static void Main()
var myDependencyMock = new Mock<IMyDependency>();
var sut = new SystemUnderTest(myDependencyMock.Object);
var ex = Assert.Throws<Exception>(() => sut.DoSomething());
Assert.True(ex.Message.StartsWith("some error"));
Console.WriteLine("passed");
Console.WriteLine("failed " + ex.ToString());
public class SystemUnderTest
private IMyDependency _myDependency;
public SystemUnderTest(IMyDependency myDependency)
_myDependency = myDependency;
public string DoSomething()
if (_myDependency.DoJob() == null)
throw new Exception("some error");
public class MyDependency : IMyDependency
public interface IMyDependency