在MS C#单元测试中,如果要断言发生了ArgumentException,可以使用Microsoft.VisualStudio.TestTools.UnitTesting命名空间中的ExpectedException属性。这个属性可以用来指定在测试方法中预期抛出的异常类型。
以下是一个示例代码:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class UnitTest1
{
[TestMethod]
[ExpectedException(typeof(ArgumentException))]
public void TestMethod1()
{
// 在这里编写引发 ArgumentException 的代码
throw new ArgumentException("参数无效");
}
}
在这个示例中,我们使用了ExpectedException属性来指定预期抛出的异常类型为ArgumentException。当TestMethod1方法中的代码引发ArgumentException时,测试将通过。如果没有引发异常,或者引发的异常类型不是ArgumentException,则测试将失败。
需要注意的是,ExpectedException属性只能用于单元测试,不能在生产代码中使用。同时,ExpectedException属性在.NET Core和.NET 5及更高版本中已被弃用,建议使用Assert.ThrowsAsync或Assert.ThrowsException等方法来代替。
领取专属 10元无门槛券
手把手带您无忧上云