我正在用C#开发一个应用程序,我需要为它编写单元测试。其中一项测试需要能够在数据库连接丢失/错误之类的情况下处理异常。创建此类错误的最佳做法是什么?例如,在运行时更改connectionString等
答案 0 :(得分:0)
我建议使用模拟框架来设置可测试类(例如,带有接口的存储库)以引发错误。例如,使用Moq,您可以在单元测试中执行此操作:
var mockRepo = new Mock<IRepository>();
mockRepo.Setup(x => x.GetCustomer(1))
.Throws(new Exception("unable to connect to database"));
然后您可以断言您的测试中引发了异常。
Assert.Throws<Exception>(() => mockRepo.Object.GetCustomer(1));