我正在努力实现以下目标:
Type exceptionDuplicate = UseInMemoryDb ? typeof(ArgumentException) : typeof(DbUpdateException);
Assert.Throws<exceptionDuplicate> (() => context.SaveChanges());
这不起作用,因为 Assert.Throws 需要类型,而不是 <> 中的变量。有没有办法做到这一点?
那个
Assert
类有一个重载,需要一个 Type
作为第一个参数见 GitHub.
public static Exception Throws(Type exceptionType, Func<object> testCode)
您的代码如下所示。
Type exceptionDuplicate = UseInMemoryDb ? typeof(ArgumentException) : typeof(DbUpdateException);
Assert.Throws(exceptionDuplicate, () => context.SaveChanges());