2016-06-28 7 views
2

具体的に:私はカスタムの期待チェーン要素を追加するには?

expect.element('...').text.to.equal('...')

チェーンで "removeWhitespace" を挿入したいと思います。したがって、それは次のようになります。

expect.element('...').text.removeWhitespace.to.equal(...)

理由:私はアサーションに空白の任意の量と種類を気にしたくない、私は手紙を比較したいです。

一般的には:アサーションで処理しているデータを操作するために、期待値チェーンにカスタム要素を追加したいと思います。言い換えれば、私は、カスタムアサーションで可能なように私自身の期待チェーン要素を定義して登録したいと思います。これはどうすればいいですか?

答えて

0

しかし、あなたはカスタムを追加する必要はありませんが、このような文字列をラップする機能を追加し期待:

expect.element(removeWhiteSpaces('...')).text.to.equal('...') 

function removeWhiteSpaces(string){ 
    return string.trim(); 
} 

あなたが好きな機能を使用することができ、それはjavascriptのです!あなたは自由だ。 最初に文字列を解析します。

しかし、カスタムアサーションがナイトウォッチガイドhere

+1

に行く追加する必要がある場合まあ、それは、要素の識別子(「@myElement」のようなもの)からではなく、要素自体のHTMLコンテンツから空白を削除します。上記の例では、「要素の内容(つまり「テキスト」)を取得し、すべての空白を取り除き、何かと比較して同等になるようにします。 – SiphonariusRatingensis

+0

カスタムアサーションを追加することはかなり明確ですが、私はassert ...パターンを使いたくないので、expect ...パターンを使いたいと思います。 afaik彼らは1つの行に混在することはできません、彼らはできますか? – SiphonariusRatingensis

関連する問題