Apache Cモジュールで単体テストを実行するためのフレームワークはありますか?

StackOverflow https://stackoverflow.com/questions/325894

質問

既存のApache Cモジュールにいくつかの変更を加えて、考えられるセキュリティ上の欠陥と一般的な悪い慣行を修正しようとしています。ただし、コードの機能は変更しないでください(バグを修正する場合を除く)。標準的なリグレッションテストは適切に行われているようです。誰かがコードに対して回帰ユニットテストを実行する良い方法を知っているかどうか知りたいです。 C-Unit ですが、Apache APRおよびステータス構造とのすべての結びつきがあるため、これをテストする良い方法があるかどうか疑問に思いました。たとえば、Cユニットで使用できるビルド済みフレームワークはありますか?

ありがとう

ピーター

役に立ちましたか?

解決

私はしばらくこれに答えることを考えていましたが、他の誰かがより良い答えを思い付くかもしれないと考えました。私のものはかなり不満足だからです。いいえ、私はそのようなユニットテストフレームワークを知りません。

あなたの最善の策は、httpdコードベースへの依存関係が非常に薄い接着層に含まれるように、Cモジュールをリファクタリングすることです。ユニットテストコードに簡単にリンクできるAPRへの依存関係についてはあまり心配しません。リクエストレコードを使用するなど、少し抽象化する必要があります。

コードにセキュリティ上の欠陥や悪い慣行が含まれている疑いがある場合、私はこれまでのところ、そのようなリファクタリングを行うことをお勧めします。それは通常、かなり大きな仕事です。

また、単体テストではなく統合テスト(理想的には両方)を実行することも検討できます。つまり、サーバーからの要求と期待される応答のセットを考え出し、実際の応答と期待される応答を比較するプログラムを実行します

したがって、あなたが探していた応答ではなく、おそらくこの線に沿った何かを自分で考えたでしょう。しかし、少なくとも経験上、ビジネス上の理由でモジュールを新しいものに交換できない場合は、テスト容易性のためにリファクタリングすることで、長期的に見返りが得られる可能性が高いと言えます。

他のヒント

質問として私があなた自身のためにインターウェブを見て回った時間を費やしました。

http://cutest.sourceforge.net/

は、ApacheポータブルCランタイムテストに使用されました。それをチェックする価値があるかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top