2012-02-03 8 views
8

私は仕事で社内のWebサービス(Java)のいくつかのための自動テストフレームワークを構築しようとしています。各サービスにはAPI(3-5)のセットがありますが、これは比較的容易ですが、問題はpersistXのような純粋な関数として動作しないAPIにあります。例外が発生した場合は例外を返します。 ここに出力がないので、簡単に検証する方法はありません。自動テストフレームワーク

これは少し一般化することができればだから私は思っていた、APIをテストしている間、ユーザーはテストを検証することができ、ある種のフレームワークに単純なプラグインやスクリプトを提供できると言います。これは誰かが私にいくつかのより良いものや同じことについての何かを教えてもらえると素晴らしいアイデアです。

おかげ

答えて

6

私はrobot frameworkをお勧めします。 Pythonで書かれたキーワード駆動型フレームワークです。そのため、JVMでJVMを実行することができます。これは、Javaコード(またはPython)で拡張できることを意味します。私は正常にAPIを呼び出してから、データベースを覗いたり、ファイルシステムに問い合わせたりすることで結果を検証するのに成功しました。

また、.NETプラットフォーム上で動作するフロントエンドをテストするためのセレンモジュール、ジェンキンスプラグイン、および他のいくつかのツールがあります。非常に拡張性と柔軟性があります。あなたが見ているのは何

4

はブラックボックスとホワイトボックステストとの両方をサポートするツールの適用です。あなたが返される応答してデータを検証することによって、ブラックボックステストを実行することができ、適切な応答を返すWebサービスの

。 SoapUIはこれに最適なツールです。純粋な機能を動作しませんAPIの

、あなたがプログラム可能なツールとSOAPUIのように、このためになどをログに記録する、持続性のようなイベント生成をその副作用を検証することにより、ホワイトボックステストを行うかない場合があります正しいオプションにしてください。

私たちの仕事と、複数のツール/フレームワーク(SoapUI、RSSPec、Robotframework)を評価した後の両方で、私はSpockを選択しました。なぜスポーク?

  1. それはあなたが我々は、Javaの店であり、私たちは、同様しかし、簡略化糖衣構文で自動化のために同じ使い慣れた言語を使用したいBDDスタイルでテスト
  2. を明らかに意図を書き込むことができます。そして、スポックはすべてグルーヴィーに基づいています。 JUNITのすべてのプラグインを活用することができるので、それはJUNITの上に構築されGeb
  3. (PageFactory含む)優れwebdriverを/セレン2サポートを(ETCコードカバレッジ、ハドソン/ジェンキンス統合)
  4. のロットWebサービスのAPIとXMLのDSL(単純なシナリオのためのXPATHで作業する必要はありません)
  5. 簡体セットアップ(robotframeworkとは異なり、それは、Python、Jythonのセットアップを必要とdoesntの)

など....

関連する問題