FitNesse + TeamCity-プロジェクトにトーンを追加

こんにちは、設計されたシステムをさまざまなテストに組み込む愛好家の皆さん! 多くの人がツールを使用してシステムテストを作成します。 誰かがFitNesseを使用していることもありますが、これはHabré少し話題になりました。 したがって、FitNesseとは何か、何と一緒に食べられるかについては繰り返しません。 TeamCityを使用して進行するアセンブリプロセスでプロジェクトを「フィットネス」にする方法を説明した方がよいでしょう。

面白い? それから猫にようこそ。



だから、与えられた:


  1. 外部テストフレームワークを必要とするPHPで書かれたプロジェクト。 開発者は、変更を行った後、エンドユーザーが以前に見たものと新しいチップを正確に見ることを確認したいと考えています。 また、新機能ではなく、隣接するレポート管理モジュールのUIを大幅に調整しました。

  2. PHPUnitに基づいて記述されたSelenium Webdriverを介してUIを制御するためのシステムテスト。 つまり、次の2つの欠点があります。

    • テスターは、PHP、PHPUnit、WebdriverのAPIを知っている必要があります。 そして同時に、彼だけが読むことができるきれいなコードを書きません。



      彼の人生を楽にしましょう:)

    • したがって、既存のテストは、それらをサポートすることは暗くて感謝のない作業であるように書かれています。 さらに暗くて恩知らずの状況は、テストが実際に失敗した理由をプログラマがすぐに理解できない場合です。 そして、あなたは時間を費やす必要があります...



  3. TeamCityを使用してプロジェクトを自動的にビルドし、すべてのテストを実行します

  4. FitNesseによって実行される多くのUIテスト。 PHPで記述されたものよりも読みやすく、誰でもFitNesse-wikiを開いてテストを実行できます。 そして、マネージャーでさえ、画面上で何が起こっているかを理解しています:)。 ただし、プロジェクトをビルドするとき、これらのテストは自動的に実行されません。



解決策。


TeamCity BuildrunnerとFitNesseを横断することにより、最後のポイントを決定します。 これはさまざまな方法で行うことができます。FitNesseランナー+ TeamCityバンチを自分で構成するか、簡単な方法で特別に訓練されたプラグインを使用することができます。 すぐに使用できるプラグインは、設定で指定されたパスに従ってFitNesseを起動し、テストを実行し、簡単な統計を表示できます。 一般的には奇跡ですが、次のように動揺します。



したがって、私たちのチームはプラグインを取得し、素晴らしい要件に合わせて完成させ、コミュニティと共有することにしました。 書き換えプラグインはGitHubで入手できます

インストールと構成のプロセスについて簡単に説明します。 一般に、元のプラグインのREADMEに記載されているものと似ていますが、BuilAgentの誰かが事前にFitNesseを起動する必要があります。 そして以来 彼は絶えず音を立てて、いつでも入ることができ、好きなテストを手で実行することができます。



答え。


出口でほぼそのような写真を見ることができます。 これはテスト結果で確認できます。





そして、これはbuilログにあります:



完全な幸福のために、リンクを「リンクのように」機能させることが残っています。これはこの記事で役立ちます。 しかし、これは別の計画の議論です。



FitNesseの利益は何ですか?


まず、FitNesseから入手できるAPIを開発して文書化すると、テスターはPHPコードを書くように要求する必要がなくなります。 彼には単一のツール-Wikiマークアップがあり、テストスクリプトとドキュメントを同時に作成します。 新しいAPIペンが必要な場合、それを記述するのはテスターではなく、開発チームです。 実際にコードにお金を払う:)。

次に、テストページでシステムのドキュメントを直接保持できます。 新しい従業員がこのような知識ベースをより深く掘り下げると便利です。 また、FitNesseテストの記述スタイルは、英語に精通している人にとってもはるかに便利です。 必要に応じて、マネージャーを表示することもできます-「ユーザーVasyaがパスワードvasyapasswordでログインし、メッセージ「PANIC !!」」でアラートを受信し、実際に機能していることを確認します:)。



コミュニティへ。


プラグインを厳しく判断しないでください-それはまだ「若くて経験の浅い」です:)誰かが興味を持っているなら、好きなようにそれを終了/追加することをheしないでください。 そして誰もが恩恵を受けます。



All Articles