タグ

ブックマーク / su-kun1899.hatenablog.com (1)

  • UnitTestでのprivateメソッドとの向き合い方 - ジムには乗りたい

    privateメソッドのUnitTestについて、下記のような扱いがあると思う。 スコープを(例えばprotectedに)拡張する 直接間接を問わず、リフレクションなどを活用してテストする これらに対して、ずっと何か違和感を覚えていた。 実践JUnitでちょっと触れられている箇所があって、自分なりの読み解きで何となく向き合い方が腹落ちしたので書いておく。 UnitTestはメソッドのテストではなく、そのふるまいのテストにより重きが置かれるべき privateメソッドは実装の内部詳細であり、その変更はふるまいに影響をあたえるべきではない 上記の前提を考えると、基的にはpublicスコープに対してのテストで十分になりえるはず。 そのクラスのふるまいであるなら少なくともパッケージ以上にスコープが(テストのためではなく)拡張されることに違和感はない。 そうでないならば別のクラスに切り出すようなふ

    UnitTestでのprivateメソッドとの向き合い方 - ジムには乗りたい
    akatakun
    akatakun 2016/09/06
    Objective-Cのテスト書いてた時はクラス拡張でアクセス属性書き換えてたなー,UnitTestはメソッドのテストではなく、そのふるまいのテストにより重きが置かれるべ,privateメソッドは実装の内部詳細であり、その変更はふるま
  • 1