2

そのため、jasmine の jQuery 値のデフォルトのプリティ プリンターはあまりきれいではありません (オブジェクトとして出力し、使用可能なすべてのメソッドをリストします)。それを配列として印刷するだけならもっといいでしょう。

jasmine.PrettyPrinter.prototype.formatの場合に特定の指示を与えるようにオーバーライドしvalue instanceof jQueryたり、jQuery オブジェクトに対して true を返すようにオーバーライドしたりできますjasmine.isArray_が、これらはどちらもハックのようです。

ジャスミンプリティプリンターを拡張するより自然な方法はありますか?

4

2 に答える 2

1

@James deBoer ソリューションは正しいアイデアですが、機能させるには多少変更する必要がありました。

jQuery.fn.jasmineToString = function() {
  this[0].outerHTML;
};

thisjQuery オブジェクトです。[0]は最初の DOM 要素を提供し (jQuery オブジェクトは一致した要素のコレクションであるため)、DOM プロパティはouterHTML(大文字に注意してください) です。

(@James が独自の jQuery.outerHtml() 関数を定義している可能性が高いです。詳細については、この StackOverflow の質問を参照してください)。

于 2015-05-28T20:46:28.217 に答える
0

jasmine.pp は、オブジェクトで定義されるメソッド「jasmineToString」を探します。

jQuery オブジェクトを次のように拡張しました。

jQuery.fn.jasmineToString = function() {
  return this.outerHtml();
};
于 2013-01-09T21:29:48.010 に答える