我有一个这样的测试方法:
[TestCase(16486, "BobBank2.site16486.1", "16486.1")]
[TestCase(16441, "BobBank2.site16441.1", "16441.1")]
[TestCase(16443, "BobBank2.site16443.1", "16443.1")]
public async Task CheckUserAccountLinkStatusTest(int providerId, string username, string userKey)
我需要确保第一个案例(16486)始终抛出错误。是否可以修改TestCase属性来执行此操作?
答案 0 :(得分:3)
你可以检查
if(providerId==16486)
{
Assert.Throws(...
}
但是最好有两个单独的测试,一个在预期时检查异常,另一个断言在不应该的时候没有异常。
答案 1 :(得分:1)
虽然@Connel.O' Donnell解决方案有效,但我建议:
因此,用于断言异常的新的独立测试应该或多或少看起来像:
[TestCase(16486, "BobBank2.site16486.1", "16486.1")]
public async Task CheckUserAccountLinkStatusTest_ThrowsException(int providerId, string username, string userKey)
{
// ...
Assert.That(() => { /* ... */ }, Throws.Exception);
}