Node.js 使用express shouldjs或其他断言库对nodejs中的html标记进行响应测试

Node.js 使用express shouldjs或其他断言库对nodejs中的html标记进行响应测试,node.js,tdd,express,mocha.js,Node.js,Tdd,Express,Mocha.js,有人知道shouldjs的扩展或其他一些断言库有助于断言html标记的响应流吗 我想写一些验收测试,比如 body.should.contain.link 'login' 或 这只是我想到的一个例子,可能非常方便 或者你们如何测试你们的反应 谢谢几个月前我遇到了同样的问题,但我似乎找不到代码。最近听到很多人谈论它有一个类似于should的api。事实证明它确实有一个方法。Chai断言库有一个您可能感兴趣的插件,尽管不支持确切的标记 首先,如果您在浏览器中进行测试,则存在。它将允许您执行以下操作

有人知道shouldjs的扩展或其他一些断言库有助于断言html标记的响应流吗

我想写一些验收测试,比如

body.should.contain.link 'login'

这只是我想到的一个例子,可能非常方便

或者你们如何测试你们的反应


谢谢

几个月前我遇到了同样的问题,但我似乎找不到代码。最近听到很多人谈论它有一个类似于should的api。事实证明它确实有一个方法。

Chai断言库有一个您可能感兴趣的插件,尽管不支持确切的标记

首先,如果您在浏览器中进行测试,则存在。它将允许您执行以下操作:

$('body').should.have('h1.title').text('Hello world');
从代码片段的外观来看,您正在服务器端进行测试,这使事情变得有点复杂。我们曾试图通过使用jsdom解析从服务器返回的html并将其加载到jquery对象中进行测试来让jquery使用node,但jsdom不能很好地使用jquery

我已经看到(但尚未尝试)的替代方案是。它的行为似乎更像jQuery预期的那样。在这种情况下,您可以这样做(未经测试)

希望这足以让你开始

$('body').should.have('h1.title').text('Hello world');
$('h1', body).text().should.contain('Hello universe');