2

アプリの一部の要素のテスト スイートの構築を開始しています。最上位には<my-app>要素があり、そのテンプレートでは<my-session要素を使用してユーザーのログオンを制御し、<iron-media-query>要素を使用してアプリのヘッダーで使用する文字列の長さを定義します。

これら 2 つの動作をより適切に制御するために、それらの特別なテスト バージョンを構築し、replace('my-session').with('test-session')アプローチを使用してそれらを変更しています。また、この関数を使用stubして、テスト スイートとのやり取りを制御します。

ポリマーの Web サイトのドキュメントをすべて読みましたが、 を使用する必要があるか、 を呼び出す前または後にreplaceを使用する必要があるかわかりません。stubfixture

誰かアドバイスできますか

4

1 に答える 1

2

やっと見つけた答え

フィクスチャがインスタンス化される前に、両方を呼び出す必要があります。その理由は、スタブがプロトタイプ要素を変更するためです (つまり、作成された後、dom にスタンプされる前なので、フィクスチャの前に変更する必要があります)。

置換機能は実際には、フィクスチャがインスタンス化されるときに使用するエントリをマップに追加します。したがって、フィクスチャ呼び出しの前に呼び出す必要があります。

今日の時点で、web-components-tester の最新リリースには、これが高度にネストされた要素で機能することを可能にする修正が含まれていません (たとえば、アプリ レベルの要素とアプリのアプリ ツールバーをテストしようとしていました-置換が使用されたときにヘッダーレイアウトが展開されていませんでしたが、修正はマスターにあります。一時的な手段として、browser.js のマスター バージョンを、bower_components/web-component-tester ディレクトリで使用中のコピーにコピーしました。

非常に複雑なレイアウトにはまだバグがあると思います。コンテンツ内に dom-if テンプレートを含むペーパートーストがあり、これをテストバージョンに置き換えてモックとして機能させようとしましたが、テンプレートにもタグが含まれていました。これはうまくいきませんでした

于 2016-08-11T15:30:19.110 に答える