htmlタグの応答ストリームをアサートするのに役立つshouldjsまたはその他のアサーションライブラリの拡張を知っている人はいますか。
次のような受け入れテストを書きたいと思います
body.should.contain.link 'login'
また
body.should.contain.h1 'Hello world'
かなり便利な私の頭に浮かんだ例です...
または、どのように反応をテストしますか...?
ありがとう
Chai Assertion Library には、興味のあるプラグインがありますが、その正確なマークアップはサポートされていません。
まず、ブラウザでテストしている場合はchai-jqueryがあります。これにより、次のようなことが可能になります。
$('body').should.have('h1.title').text('Hello world');
スニペットの外観からすると、サーバー側でテストしているため、状況が少し複雑になります。jsdom を使用してサーバーから返された html を解析し、それを jquery オブジェクトにロードしてテストすることで、chai-jquery をノードで動作させようとしましたが、jsdom は jQuery でうまく機能しません。
私が見た(まだ試していない)代替手段はcherioです。jQueryが期待されるように動作するようです。その場合、このようなことを行うことができます(テストされていません)...
$('h1', body).text().should.contain('Hello universe');
あなたが始めるのに十分であることを願っています。
数か月前に同じ問題に遭遇しましたが、コードが見つからないようです。最近チャイについて多くの人が話しているのを耳にしましたが、チャイには should に似た API があります。これには、 containメソッドがあることがわかりました。