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

时间:2012-06-01 13:45:40

标签: node.js tdd express mocha

是否有人知道shouldjs或其他一些断言库的扩展,这有助于断言html标签的响应流。

我想写一些验收测试,如

body.should.contain.link 'login'

body.should.contain.h1 'Hello world'

我想到的一个例子可能非常方便......

或者你们如何测试你的回答......?

由于

2 个答案:

答案 0 :(得分:2)

Chai Assertion Library有一个您可能感兴趣的插件,但不支持 exact 标记。

首先,如果您在浏览器中进行测试,则会chai-jquery。它可以让你做这样的事情:

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

从你的代码片段来看,你正在服务器端进行测试,这会让事情变得复杂一些。我们试图让chai-jquery使用jsdom来解析从服务器返回的html并将其加载到jquery对象中进行测试,但是jsdom不能很好地使用jQuery。

我见过的替代方案(但尚未尝试)是cherio。它似乎表现得更像jQuery预期。在这种情况下,你可以做这样的事情(未经测试)......

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

希望这足以让你开始。

答案 1 :(得分:0)

几个月前我遇到了同样的问题,但我似乎无法找到代码。听说很多人谈到chai最近它有一个与应该类似的api。事实证明它确实有contain方法。