この質問は他の「どのようにプライベート関数をテストするのですか」の質問とは異なり、パブリックメソッドを持たないリーフレットプラグインです。コンストラクタの結果は返されません。サンプルオーバーレイ(カルマ/ジャスミン)のリーフレットプラグインのプライベート機能をテストする
私が取り組んでいるのはおおよそ、リーフレットの地図に緯度/経度の行を入れるリーフレットプラグインのLeaflet.Gridに基づいています。
したがって、Leaflet.Grid's _dec2dms
などの関数をテストするにはどうしますか?
これは公開されていない機能ですが、テストができる数学を行っています。 (私のプラグインでは、複雑な数学を行ういくつかの関数がありますが、私は既にいくつかの辺のケースを見てきたので、それらをテストする必要があります)
あなたはプラグインの外に移動し、this._dec2dms
を_dec2dms
、またはリーフレットを全面的に嘲笑しますか?
私は偽のリーフレットを提供することに傾いており、それを通してテストしていますが、私はもっと簡単な方法があると思っています。
これを確認するには、Leaflet.Drawの 'L.LatLngUtil'のようにヘルパー関数を' L'の中に置くことを推奨していますので、直接テストすることができますし、プラグインをインスタンス化するテストもできますリーフレットのテスト可能な動作を確認していますか?それは 'L'名前空間を汚染していませんか? – mtfurlan
はい、これは現在受け入れられている解決策です。より良いソリューション(ES6モジュール)を実装するまでは、適切に制御されている限り、プラグインは 'L'名前空間に多くのものを入れても大丈夫だと感じています。 – IvanSanchez