我有以下逻辑波纹管,用于我的测试,目前,如果该测试失败,它将给出预期的输出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);
答案 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}");