代码逻辑中更有意义的错误消息?

时间:2018-10-25 08:42:25

标签: c# asp.net if-statement

我有以下逻辑波纹管,用于我的测试,目前,如果该测试失败,它将给出预期的输出6,但为26。

我的目标是修改if逻辑或assert消息,使之类似于工作流状态不符合预期的内容WorkflowStatus打印错误消息 说要发送预期的工作流程,但令人不寒而栗。我将如何修改以下代码以给出更有意义的错误消息?

int expectedWorkflowStatus = 6; //SEND
int retry = 0;
int WorkflowStatusId = -1; //Currently this is 26

while (retry++ < 2)
{
    _context.PCWindowContext.LongWait();
    WorkflowStatusId = Helpers.SqlHelper.GetScalar<int>
        (conn_string_bumi, sql_bumi, "WorkflowStatusId");

    //perhaps give a more meaning full error message.
    if (WorkflowStatusId == expectedWorkflowStatus) 
       break;
}

Assert.AreEqual(expectedWorkflowStatus, WorkflowStatusId);

1 个答案:

答案 0 :(得分:0)

使用此重载

public static void AreEqual (object expected, object actual, string message);

指定当结果不等于期望值时要打印的消息。

  

当实际值不等于预期值时要包含在异常中的消息。该消息显示在测试结果中。

因此,像这样修改最后一行

Assert.AreEqual(expectedWorkflowStatus, WorkflowStatusId, 
    $"Hey hey, watch out my dear friend something went wrong... expect {expectedWorkflowStatus} but got {WorkflowStatusId}");