web-dev-qa-db-ja.com

LinuxのTDDはありませんか?

私は長い間、Java開発者であり、TDDについて自分で決心しようとしています。

私は1998年にJUnitを初めて発見して以来、JUnitを使用しています。定期的に使用していますが、「テストを最初に作成する」ことを購読していません。私の補償範囲は60〜90%です。すべてのケースで100%に駆動することについて強制的ではありません。

私は Extreme Programming を最初に読んだときにそれを読みました。アイデアは好きだったが、それに伴う教義にいつも悩まされてきた。 「それがあなたのために働かないなら、あなたはそれを間違っているのです」私と一緒にうまく座ったことはありません。

Martin Fowlerの TDDは死んでいるのですか? を見つけました。そのような人々が質問について議論しているのを見るのは良いことです。

LinuxのLinus Torvaldの github リポジトリに行きました。ソースツリーをすばやく参照しても、TDDのようなものの証拠は明らかになりませんでした。私はどんな種類のテストコードも見ませんでした。

TDDは関数型言語と手続き型言語ではオブジェクト指向コードほど一般的ではないと結論づけることはできますか?

2
duffymo

TDDは関数型言語と手続き型言語ではオブジェクト指向コードほど一般的ではないと結論づけることはできますか?

いいえ、選択した(非常に大規模でレガシーな)コードベースを見てもそれを結論付けることはできません。

ソースツリーをすばやく参照しても、TDDのようなものの証拠は明らかになりませんでした。私はどんな種類のテストコードも見ませんでした。

これらは私にとってテストコードのように見えます:

https://github.com/torvalds/linux/tree/9256d5a308c95a50c6e85d682492ae1f86a70f9b/tools/testing/selftests

2
Den

まず第一に、TDDはLinuxの10年後に発明されました。安全性が重要なプロジェクトを除いて、それ以前は非TDDユニットテストでさえ一般的ではありませんでした。第二に、ドメインとして単体テストを行うのに問題があるのは、それほど言語ではありません。基本的に、コンピューターのハードウェアを模擬する必要があります。多くのユニットは上位レベルにあるため、実行可能であり、ほとんどのデスクトップアプリケーションのテストほど簡単ではありません。

2
Karl Bielefeldt