私はテストを自動化するためにPerlプログラムを書いてCプログラムをテストする方法を示すチュートリアルを探しています。Perlを使ってCプログラムをテストするにはどうすればよいですか?
基本的に私はPerlプログラムで自動化テストを学びたいと思っています。誰もこのチュートリアルやあなたの経験を親切に分かち合うことができますか?
私はテストを自動化するためにPerlプログラムを書いてCプログラムをテストする方法を示すチュートリアルを探しています。Perlを使ってCプログラムをテストするにはどうすればよいですか?
基本的に私はPerlプログラムで自動化テストを学びたいと思っています。誰もこのチュートリアルやあなたの経験を親切に分かち合うことができますか?
通常、PerlテストはTAPを使用します。いくつかのC libraries for TAPがあります。このPerl testing presentationをご覧ください。
Perl Testing: A Developer's Notebookは、クロマチックとIan Langworthでご覧ください。
私はコピーを購入する意味がありますが、まだ私はperlmongersミーティングでそれをスキミングしました。しかし、それはあなたが探しているものにスポットがあるようです。
UPDATE:
フム、これは私が質問お読みください示し - PerlでのPerlプログラムをテストしていない、PerlでCプログラムをテストします。
本書はまだ役に立つかもしれません(テストスクリプトを書いてTest::More
と友人を使用しているはずです)が、このアプローチをとるとCを制御するPerl関数のセットを書く必要があります。基本的には
sub run_my_c_program {
my @[email protected]_;
#Set up test environment according to @args
system "my-c-program";
# Turns restults into a $rv data structure
return $rv;
}
、その後、通常のPerlのテストと同じように$rv
をチェックしてください。
is_deeply(run_my_c_program(...),
{ .. what I think it returns ..},
".. description of what I'm testing ..");
特に第9章が重要です。テストプログラムと共有ライブラリに関するセクションがあります。これは非常に良い本です。 – daotoad
あなたが外部プログラムをテストするためにPerlを使用する方法を学習を開始したい場合は、Perlを使用することを学んで始めるにはPerlのビットをテストする。 Test::Moreモジュールは始めるのに適しています。それを理解したら、他のすべてのTest::*モジュールをCPANに見て、それらのモジュールの1つがあなたがしなければならないことがあるかどうかを見てください。
特定の質問がある場合は、それについて質問してください。この質問は、誰もが役に立つ答えを提供するにはあまりにも幅広いです。
私はチュートリアルはありませんが、以前はC++コンパイラをテストしたテストチームにいました。私たちが使ったテストハーネスは、perlで書かれていて、何年も私たちのために働いていました。 Perlは、プログラムをビルドするためのツールを呼び出すために簡単に使うことができ、後でテストログに出力するために出力をキャプチャすることができるので理想的でした(例えば、 "backticks"を使用してコンパイラを実行します。 ; )、ビルドが成功した場合は、テストプログラムを実行し、出力をキャプチャしてテストログに挿入します。私たちがPerlを使用してから得た
その他の利点:/検出に失敗域用
-Ron
私はCプログラムをテストするために、Perlのテストを使用していますTesting C with Libtapについての記事::ハーネスを書きました。プロジェクトの例を次に示します:https://github.com/stig/libggtl/tree/master/t - 難解なビルドシステムがおそらく存在しないため、おそらくそれがどのように動作するのかを理解できるはずです:-)
最後の2つのリンクは機能しませんもうこれ以上、私は2006年に[Testing C with Libtap](http://www.onlamp.com/pub/a/onlamp/2006/01/19/libtap.html?CMP=OTC-6YE827253101&ATT= Testing + C + + Libtap)がまだオンラインです。 –