我正在为现有项目首次编写单元测试。
此时我专注于调用DataAccessLayer
的方法我有一个方法:
public static bool UpdateRequestCancelledStatus(
string requestId,
string comment,
bool startManualWork
)
此方法调用存储过程,该存储过程基于requestId更新记录。
由于我无法依赖任何可用的数据,因此我生成一个空白的requestId:
string requestId = "00000000-0000-0000-0000-000000000000";
此请求不可能存在于表中。 存储过程会抛出自定义异常错误。
我想断言抛出此错误。我正在使用下面的代码,但是,单元测试如果失败,因为它抛出了自定义的sql错误,我期待和sqlexception。如何修改它以期望自定义sql错误。
[Test]
public void UpdateRequestCancelledStatus()
{
string requestId = Guid.Empty.ToString();
string comment = "Comment from Unit Test";
bool startManualWork = false;
var ex = Assert.Throws<SqlException>(() => nsBusSrvData.RequestMaintenance.OrderDetails.UpdateRequestCancelledStatus(requestId, comment, startManualWork));
Assert.IsNotNull(ex.Message);
}