我试图使用Postman来测试我使用express构建的API,在其中我建立了一套测试。这是一个简单的例子:
tests["Status code is 200"] = responseCode.code === 200;
// Check that we got the expected board
var expected = { _id: 11, name: "board A" };
tests["Board retrieved"] = JSON.stringify(expected) === responseBody;
然而,我发现当我的考试失败时,他们不会告诉我任何有用的东西:
有没有不同的方法来验证结果,这会让我知道任何人都知道的传统测试跑步者的预期/实际值?到目前为止,我唯一能想到的就是将信息嵌入到测试名称中 - 这感觉有点像淤泥。
答案 0 :(得分:2)
可能的解决方法是包装分配以添加更多功能:
/** This function adds information in the label only if the validations returns false */
tests.assertEquals= function (expected, actual, label) {
if (expected!==actual) {
this[label + ': Expected "' +expected + '" but got "'+ actual +'"']=false;
} else {
this[label]=true;
}
}
tests.assertEquals(JSON.stringify(expected), responseBody,"Board retrieved");
正如你所说,它可能是一个混乱,但如果有必要你只有这些信息,并使用一种方法来保持它“隐藏”使它更清晰,更容易阅读。另一种选择可能是使用console.log来显示额外的信息,而不是将其添加到标签中,但这只是一个品味问题