8

非常に大きなライブラリがありますが、非常に小さな API のみを公開して、新しいユーザーが簡単に使用および学習できるようにしています。私は自分のライブラリをこのように保ちたいと思っていますが、できるだけ多くの単体テストのカバレッジを確保したいと思っています.すべてのクラスを直接単体テストできるようにしたいと思っていますが、私が知る限りライブラリの公開 API の単体テストのみを行います。

もちろん、基礎となるすべてのプライベート クラスを効果的に間接的にテストするパブリック メソッドを完全にテストする単体テストを作成することはできますが、テストが失敗した場合、何かがどこに行ったかを見つけるためにプライベート コードを何度も掘り下げることを意味する可能性があります。個々のプライベート クラスごとに単体テストを行うのではなく、何か問題が発生したときに、何がどこで問題が発生したかがすぐにわかります。

この状況に役立つ設計パターンや、プライベート dart クラスおよびメソッドの単体テストを作成する方法はありますか?

4

1 に答える 1

11

プライベート クラスを同じアプリケーション内の別のライブラリに移動すると、それらをパブリックにしてテストできます。次に、そのライブラリを現在のライブラリにインポートし、エクスポートしません (したがって、ライブラリのユーザーは、他のライブラリを自分でインポートしない限り、他のクラスを使用できません)。

于 2013-10-30T21:43:36.540 に答える