如何在visual studio test explorer中显示自定义异常消息

时间:2016-11-23 14:20:12

标签: c# visual-studio

我有一个自定义异常类

public class CustomException : Exception
{
    string moreInfo;
    public CustomException(string message, string info) : base(message)
    {
        moreInfo = info;
    }

    public override string ToString()
    {
        return "Custom Exception Info:" + moreInfo;
    }
}

这可以在测试中抛出,因此我收到以下消息:

enter image description here

有没有办法在Test Explorer中显示更多信息(不修改Message属性)

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace UnitTestProject1
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            throw new CustomException("aaa", "bla bla");
        }
    }
}

更新
我的所有测试都运行良好,我有正确的断言声明 如果由于某种原因虽然任何测试都被破坏了,我在测试资源管理器中看不到有意义的错误,所以我必须将每个测试包装在try / catch中并手动逐个调试它们......

由于我在抛出异常时需要所有错误信息,所以这似乎很愚蠢

1 个答案:

答案 0 :(得分:0)

为什么你会在[TestMethod]中抛出异常。测试异常的正确方法是:

    [TestMethod]
    public void TestMethod1()
    {
        try
        {
            throw new CustomException("aaa", "bla bla");
        }
        catch(CustomException ex)
        {
            //some assert condition with proper message
            Assert.AreEqual(ex.Message, "some Stuff", "My message");
        }
    }