[HttpPost]
[Route("TnC")]
public IHttpActionResult TnC(CustomViewModel myViewModel)
{
    try
    {
        return Json(_Internal.TnC(myViewModel, LoggedInUser));
    }
    catch (BusinessException exception)
    {
        return Json(BuildErrorModelBase(exception));
    }
}
Where _Internalis the Service with 99.99% guaranteed time and non-formalized fault contract interfaces.
Exceptions handled at my application level (business level) as root class BusinessException
Where BusinessException is defined as follows
public class BusinessException : Exception
{
    BusinessException()...
    BusinessExceptionFoo()...
    BusinessExceptionBar()...
    
}
And the current testing method
Make: Add Exception Test
[TestMethod]
[ExpectedException(typeof(BusinessException),
        "Not a valid Business Case")]
public void TnCTest()
{
    var bookingService = myContainer.Resolve<mySvc>();
    var controller = new LinkBookingController(mySvc, myContainer);
    var expectedResult = controller.TnC(new myViewModel
    {
        ...params
    });
    var actualResult = GetData<Result<myViewModel>>(expectedResult);
    Assert.AreEqual(expectedResult, actualResult);
}
expectedResult==actualResultdoes not check the code exception block. How to create a request that causes the service to throw an exception, besides manually removing the Ethernet cable to get this type of server error.
The best I could come up with was
#if DEBUG && UnitTestExceptions
        throw new BusinessException();
#endif
But there is a better option.