テスト駆動の Javascript を書こうとしています。各機能をテストすることは非常に重要です。しかし、私が書いているプラグインにはいくつかのプライベート関数が必要であるという点で、つまずきに来ました。それらがどのように機能しているかを覗き見ることはできません。コードの構造をあまり変更せずにコードを十分にテストしたい場合、何をする必要がありますか? (制限内ではありますが、いくつかの API を公開しても問題ありません。)
シノン、QUnit、パブロフを使用しています。
テスト駆動の Javascript を書こうとしています。各機能をテストすることは非常に重要です。しかし、私が書いているプラグインにはいくつかのプライベート関数が必要であるという点で、つまずきに来ました。それらがどのように機能しているかを覗き見ることはできません。コードの構造をあまり変更せずにコードを十分にテストしたい場合、何をする必要がありますか? (制限内ではありますが、いくつかの API を公開しても問題ありません。)
シノン、QUnit、パブロフを使用しています。
テスト駆動型開発を行っている場合(タグで示唆されているように)、本番コードの各行は、最初にテスト ケースの失敗によって正当化されます。
言い換えれば、実稼働コードのすべての行の存在が暗黙的にテストされます。それがなければ、一部のテストが失敗したに違いないからです。そうは言っても、プライベート関数/ラムダ/クロージャーはTDDの定義からすでにテストされていると安全に想定できます。
プライベート関数があり、それをテストする方法を知りたい場合は、そもそも TDD を実行していなかったことを意味し、問題が発生しています。
要約すると、テスト前に本番コードを書かないでください。このルールに従えば、コードの深さに関係なく、すべてのコード行がテストされます。