2020-12-23

anond:20201221231321

計算ロジックが複雑かつ特定オブジェクトに密に関わっている場合、元記事に引かれている例でいえば麻雀の点数計算のようなものとかあるいは準数値演算や組み合わせアルゴリズムが関わってくるようなメソッドだと、振る舞いを見るブラックボックステストではなく、ロジックを調べるホワイトボックステスト必要になる。

そういう場合、たとえ別モジュールに切り出してもテストしたい部分の複雑さは変わらず、やっぱりプライベートの部分をテストしたいということになる。

モジュールに分ければプライベートメソッドテストする必要はないはずだという想定は、プライベートメソッドテストができない言語テストライブラリの欠陥に対する言い逃れじゃない?

記事への反応 -
  • 「すべきでない」というのがたぶん多数派。 テストすべきでない理由としてだいたい次の理由があげられる。 プライベートなメソッドや関数をテストする必要は無いと考えています。...

    • テストが必要なほどプライベートメソッドが複雑ならそれを別のオブジェクトに切り出す必要がある これでいいと思うんだけど。 テストが必要になる単位で、単純な責務になるよう...

      • 計算やロジックが複雑かつ特定のオブジェクトに密に関わっている場合、元記事に引かれている例でいえば麻雀の点数計算のようなものとかあるいは準数値演算や組み合わせアルゴリズ...

    • ワイはパブリックメソッドのテストすら一度も書いたことないやで

      • わたしは実際にデータ流し込んだり画面叩いてテストしてるのでテストコードなんか書いたことないです。

    • こういうの見るとやっぱりRustやGoが今後の潮流になるのは避けられないな

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん