我想测试(使用using Microsoft.VisualStudio.TestTools.UnitTesting
)此测试函数的顶行会导致DataMisalignedException
被抛出。
namespace xxx.Services.SupplierApiTests
{
[TestClass]
public class JsonSchemaValidatorTests
{
[TestMethod]
public void ShouldThrowOnBadPhoneNumber()
{
JsonSchemaValidator.validateAgainstJsonSchema(ProviderService.getErronousProviders(), "./provider-schema.json");
Action<IList, string> myAction = (x, y) => JsonSchemaValidator.validateAgainstJsonSchema(x, y);
Assert.ThrowsException<DataMisalignedException>(myAction);
}
}
}
如何使用JsonSchemaValidator.validateAgainstJsonSchema
作为操作,从测试的第一行传入两个参数?我的尝试是在上面的代码中,但没有通过这两个参数。
答案 0 :(得分:1)
要指示在测试方法执行期间预期会出现异常,您可以在测试方法之上使用[ExpectedException]
属性。
[TestClass]
public class JsonSchemaValidatorTests
{
[TestMethod]
[ExpectedException(typeof(DataMisalignedException))]
public void ShouldThrowOnBadPhoneNumber()
{
JsonSchemaValidator.validateAgainstJsonSchema(ProviderService.getErronousProviders(), "./provider-schema.json");
}
}