我想使用Jasmine框架定义我的自定义用户定义匹配器。 我将验证两个复杂对象之间的关系。
例如:
customMatchers = {
toBeSiblings: function(util, customEqualityTesters) {
return {
compare: function(actual, expected) {
expect(actual.parent).toBeDefined()
expect(expected.parent).toBeDefined()
result = {
pass: util.equals(actual.parent, expected.parent, customEqualityTesters)
};
if (!result.pass) {
result.message = "Expected object: " + actual + " to be sibling of: " + expected;
}
return result;
}
};
}
};
我想以与上例相似的方式测试使用现有Karma匹配器比较对象的一些先决条件。
我的问题是:是否可以从使用的匹配器中提取匹配结果以格式化正确的消息,即“预期实际为父母”?
答案 0 :(得分:2)
我刚检查过 - 事实证明这实际上很容易。像在示例中一样使用预定义匹配器,只需向这些匹配器添加自定义消息。该消息不会替换默认消息,而是附加到消息上。
int main()
{
std::vector<std::future<void>> laters;
for (int i = 0; i != n; ++i)
{
laters.push_back(std::async(std::launch::async, asyncSleep));
}
}
如果失败,您会收到
的消息预期未定义要定义'或者更确切地说,预期对象无论父母有什么'。