|
Last update : July 6 2002
Doc for : v1.3
Cactusについて
Cactus とは
ニュース
変更履歴
特徴/開発状況
目標
ロードマップ/ToDo
協力者
協力者募集
Cactus ユーザ
テスト済環境 ...
ライセンス
ダウンロード
ダウンロード
ドキュメント
Cactus の仕組み
さぁ始めよう
モック対コンテナ
Javadocs
└Javadocs
よくある質問
Howto ガイド
クラスパス Howto
設定 Howto
アップグレードHowto
テストケース Howto
セキュリティHowto
Ant Howto
HttpUnit Howto
サンプル Howto
EJB Howto
IDE Howto
JUnitEE Howto
サポート
Bug DB
メーリングリスト
その他
名前の由来
ロゴコンテスト
参考文献
アクセス状況
└WebAlizer
開発者向け
CVS
コード規約
ビルドの結果
|
| Cactus の現在の範囲と状況/Current scope and status of Cactus |

 |
Support for testing the View layer is done through integration
with HttpUnit.
This is functional unit testing (see the
What is Cactus page, for
a description of the different kinds of unit tests).
|
 |
View 層のテストのサポートは
HttpUnitとの統合によってなされる。これは機能的単体テストである。
(Cactus とは
のページの単体テストの種別について説明を参照。)
|
 |
EJB unit testing is done by calling the EJB to unit test as you
would if you were writing code to call an EJB from a servlet (See
the EJB Howto page for more details).
|
 |
EJB の単体テストは、もしある Servlet から EJB
を呼び出すコードを書いているとして単体テストを行う為に
EJB を呼び出すことによって行われる。
(より詳しくはEJB Howto のページを参照。)
|
|
| 全体的な設計の特徴/General design features |
-
Cactus gives you a very good confidence that your code is going
to run fine on the server it will be deployed on (thanks to Cactus
in-container approach that executes the test inside the
container),
-
Cactus は実際に運用されるサーバー上で、
あなたのコードがちゃんと実行されるであろう事の非常に信頼できる保証を提供するでしょう。
(コンテ ナーの内側でテストが実行 Cactus のコンテナー内アプローチに感謝してください。)
-
Cactus let you test container interactions. This is essential
in a world where containers are providing more and more
features for their components every day,
-
Cactus によってコンテナーとの相互作用についてテストを行います。
このことはコンテナーがそのコンポーネントに毎日どんどん多くの新機能を提供しつづける世界においては、
本質的な事なのです。
-
Cactus let you test and automate the deployment process to your
server (using prebuilt powerful custom Ant task),
-
Cactus によってテスト行い、自動的にサーバー上で実運用に移行していく事が出来ます。
(予め構築された強力なカスタム ant タスクを使います。)
-
Cactus does not mandate any change to your classes to test, although
it helps think about writing better code and do some refactoring,
-
Cactus はテストを行うあなたのクラスに対するどのような変更をも指示する事はありません。
しかしながらより良いコードを書いたり、
何らかのリファクタリングを実行する手助けにはなります。
-
Cactus provides a good middle ground in term of test granularity :
too fine-grained tests are hard to write (like mock objects tests
that completely simulates the domain objects and focus exclusively
on unit testing your logic code) and need complementary tests. Too
coarse-grained tests (like functional tests) are not enough to
easily uncover bugs and work in a iterative development process
where tests are run very often to ensure everything is working. We
believe Cactus provides a good compromise.
-
Cactus はテストの粒度・規模といった観点から見ると、優れた中間地帯を提供します。
非常に細かい所まで考慮されたテストを書いたり
(完璧に周辺領域のオブジェクトを模擬して、
あなたのロジックコードの単体テストだけに極端に焦点を当てている、
モック・オブジェクトのテストように)テストを完全にもれなく実施するのは困難です。
あまりに大雑把なテスト(機能テストのように)では簡単にバグを暴き出したり、
全てが上手く動く事を確証する為にテストを頻繁に動かしていくような段階的な開発プロセスの中で、
実行させるには不十分です。我々は Cactus が良き折衷案を提供すると信じています。
|
| 詳細な特徴の一覧/Detailed feature list |
-
Integrates seamlessly with the JUnit testing framework. Any tool
that works with JUnit will work with Cactus because a Cactus test
is a JUnit test ! See
TestCase Howto
tutorial for details.
-
JUnit テストフレームワークと継ぎ目無く統合されています。
JUnit と共に動くどのようなツールも Cactus とも一緒に動くでしょう、
それは Cactus のテストは JUnit のテストでもあるからです。
詳細は テストケース Howto
のチュートリアルを参照してください。
-
Provides a
ServletTestCase class that your test case
must extends for unit testing Servlets or any java classes that
make use of Servlet API objects.
-
あなたのテストケースのクラスが Servlet や Servlet API のオブジェクトを利用するすべての
Java のクラスの単体テストを行う為に必ず基底クラスとすべき
ServletTestCase を提供します。
-
Provides a
JspTestCase class that your test case
must extends for unit testing Taglibs or any java classes that
make use of JSP API objects.
-
あなたのテストケースのクラスがタグライブラリや JSP API のオブジェクトを利用するすべての
Java クラスの単体テストを行う為に必ず基底クラスとすべき
JSPTestCase を提供します。
-
Provides a
FilterTestCase class that your test case
must extends for unit testing Filters or any java classes that
make use of Filter API objects.
-
あなたのテストケースのクラスが Servlet フィルターやフィルター API
のオブジェクトを利用するすべての Java クラスの単体テストを行う為に、
必ず基底クラスとすべき
FilterTestCase を提供します。
-
Extends JUnit by defining two additional (and optional) methods
that can be implemented for each test case (i.e. for each
testXXX() method) : beginXXX() and
endXXX(). See the
TestCase Howto tutorial
for details.
-
それぞれのテストケース(つまり、それぞれの
testXXX() メソッドに対して)
に実装できる二つの補足的な(そしてオプションでもある)メソッド:beginXXX()
と endXXX(). を定義する事で JUnit を拡張しています。
詳細は テストケース Howto
のチュートリアルを参照してください。
-
It is possible to set up the following in
beginXXX() :
-
HTTP cookies,
-
HTTP parameters (GET and POST),
-
HTTP Headers
-
Whether an HTTP Session will be created or not on the server side,
-
BASIC Authentication parameters,
-
Send any data as POST data
-
次に挙げる項目について、
beginXXX() の中で設定する事が可能です。
-
HTTP クッキー。、
-
HTTP パラメータ(GET と POST)、
-
HTTP ヘッダー、
-
HTTP セッションをサーバー側で生成するか否かについて、
-
BASIC 認証のパラメータ、
-
POST データとして送る任意のデータ、
-
It is possible to verify the following in
beginXXX() :
-
Returned data (as String or using
HttpUnit,
-
Returned cookies,
-
Returned HTTP headers
-
次に挙げる項目について、
endXXX() の中で検証する事が可能です。
-
戻り値のデータ(文字列としてか
HttpUnitを用いて)、
-
戻り値のクッキー
-
戻り値のHTTP ヘッダー
-
Predefined Ant build scripts that demonstrate how to automate Cactus
unit tests (automatically starting your servlet engine, running the
tests and stopping your server). There are scripts provided for the
following Servlet engines (but it is easy to add new engines and some
Cactus users have already posted scripts on the
Cactus mailing list for other
containers) :
-
Tomcat 3.2 (Servlet API 2.2)
-
Tomcat 3.3 (Servlet API 2.2)
-
Tomcat 4.0 (Servlet API 2.2 and 2.3)
-
Resin 1.2 (Servlet API 2.2)
-
Resin 1.3 (Servlet API 2.3)
-
Resin 2.0 (Servlet API 2.2 and 2.3)
-
WebLogic 5.1 (Servlet API 2.2)
-
WebLogic 6.1 (Servlet API 2.3)
-
Orion 1.4 (Servlet API 2.2 and 2.3)
-
Orion 1.5 (Servlet API 2.2 and 2.3)
-
Enhydra 3.1 (Servlet API 2.2)
-
Cactus の単体テストの自動化をどのようにするかをデモするために予め設定された
Ant のビルドスクリプト。(自動的に Servlet エンジンを起動して、
テストを実行しサーバーを停止する。)
以下に挙げる Servlet エンジンについてスクリプトが定義されています。
(しかし新しいエンジンを追加するのは簡単であり、何人かの Cactus
ユーザーは他のコンテナーに対するスクリプトを
Cactus のメーリングリストにに投稿しています。)
-
Tomcat 3.2 (Servlet API 2.2)
-
Tomcat 3.3 (Servlet API 2.2)
-
Tomcat 4.0 (Servlet API 2.2 and 2.3)
-
Resin 1.2 (Servlet API 2.2)
-
Resin 1.3 (Servlet API 2.3)
-
Resin 2.0 (Servlet API 2.2 and 2.3)
-
WebLogic 5.1 (Servlet API 2.2)
-
WebLogic 6.1 (Servlet API 2.3)
-
Orion 1.4 (Servlet API 2.2 and 2.3)
-
Orion 1.5 (Servlet API 2.2 and 2.3)
-
Enhydra 3.1 (Servlet API 2.2)
-
Handles
setUp() and tearDown() methods
which work the same as for JUnit except that they are run on the
server side before and after calling each testXXX()
method
-
setUp() と tearDown()メソッドを用意しています。
サーバー側でそれぞれの testXXX() メソッドの呼び出す前後に実行される事を除けば
JUnit と同様の働きをします。
-
Tested with all versions of JUnit up to the current one in JUnit CVS.
-
JUnit CVS にある現在のものにいたる全ての JUnit のバージョンでテストされています。
-
Support for Servlet API 2.2 and 2.3 (Support for Servlet API 2.1 is
no longer provided)
-
Servlet API 2.2 and 2.3 をサポート(Servlet API 2.1 へのサポートはもう提供されません。)
-
Works with JDK 1.2, 1.3 and 1.4.
-
JDK 1.2, 1.3 and 1.4 で動作します。
-
Wraps some of the standard API objects in order to provide
additional methods to help write unit tests.
See the TestCase
Howto tutorial for details.
-
幾つかの標準的な API オブジェクトを、
単体テストの記述を容易にするための追加的なメソッドを提供する為に、
包括(ラップ)しています。
詳細はテストケース Howto
のチュートリアルを参照してください。
-
Internal Log4j logging to help debug problems.
-
内部でデバッグの問題を補助する為に Log4j でのログを取っています。
-
HttpUnit integration. See the
HttpUnit Howto) tutorial
for details. This enables
Cactus to provide strong and integrated functional
unit testing features.
-
HttpUnit との統合。詳細は HttpUnit Howto
のチュートリアルを参照してください。
これにより Cactus は強力で統合された単体機能テストの特徴を提供する事が出来ます。
-
Support for BASIC authentication. You can test code that uses the
Servlet security API.
-
BASIC 認証のサポート。Servlet のセキュリティ API を用いるコードをテストする事が出来ます。
-
Ability to define where to locate the Cactus configuration file
(
cactus.properties).
-
Cactus の設定ファイル(
cactus.properties)
をどこに配置するかを定義することができます。
-
Ability to specify, per test case, what redirector to use. Useful,
for example, when you want to test some code that is using the
Servlet Security API at the same time as other code that should not
be protected.
-
テストケースごとにどのリダイレクタを用いるかを特定する事が出来ます。
これは便利です、
例えば Servlet の セキュリティ API を用いたコードと、
他の保護されてはいけないコードを同時にテストしたい時などにです。
|
|
|