3

たとえば、Make、ant、またはその他のビルド ツールをいじっているときは、実際にはコードを書いています。

これらのコードをテストするための「MUnit」または「ANTUnit」がないのはなぜですか? プロジェクトのビルド システムにバグがあると、それを使用する人々に大きな遅延とフラストレーションを引き起こすため、そうするのは理にかなっています。

例(注:これはおそらく機能しません-テストされておらず、ここでも私の焦点では​​ありません):

#makefile v0
all: main.out

main.out: main.o x.o y.o
    g++ $^ -o main.out

%.o: %.cpp
    g++ -Wall $?

しかし今、私はオブジェクトファイルを別のビルドフォルダーに入れたいと思っています:

#makefile v1
all: main.out

main.out: $(addprefix build/,main.o x.o y.o)
    g++ $^ -o main.out

build/%o: %.cpp
    g++ Wall $< -o $@

そうそう!それはうまくいきます!専念!専念!

(しかし... 継続的インテグレーション サーバーにはまだ「ビルド」フォルダーがありません...)

いやいや…チームのビルドが失敗した…私のせいだ…ばか!

モック プロジェクト、モック フォルダー構造を指定してから を呼び出しmake all、main.out がそこにある (そして実行できる) ことを確認できると便利です。

だからここに質問:

make スクリプトを「単体テスト」するためのオプションは何ですか? 何億ものテストシェルスクリプトを書く運命にあるのでしょうか、それとも何かがすでに存在しているのでしょうか?

4

1 に答える 1

3

Ant を使用している場合は、AntUnitがあります。私はそれを使用し、それは動作します。

Make の単体テスト フレームワークを認識しておらず、見つけることもできません。独自の作成を検討できます。

于 2012-06-20T10:41:16.597 に答える