タグ

ブックマーク / kyon-mm.hatenablog.com (11)

  • Spock1.1の新機能紹介 - うさぎ組

    SpockというGroovy言語で記述するテスティングフレームワークがあります。 今回は2017/05/01にリリースされたバージョン1.1の新機能のうち3つを紹介します。 Spock リリースノート 記事はG* Advent Calendar 2017の14日目です。 verifyAll メソッドによる(Soft Assert) where句のデータテーブルで左側の値を参照できる @PendingFeatureで未実装機能マーカーでテストを実行しない その他 verifyAll メソッドによる(Soft Assert) いろんな界隈で流行ってきているSoft AssertがついにSpockにも来ました。Integration Testにおいてはテストスクリプトもしくはライブラリ内で有用になる場面が多いこの機能。 Soft Assertというのは総称で、「複数の検査(assert)をグル

    Spock1.1の新機能紹介 - うさぎ組
  • Java女子部でSpockの入門ハンズオン講師しました。 #javajo - うさぎ組

    Java女子部というコミュニティで2017/03/25に半日間のハンズオンでSpockというテスティングフレームワークの使い方を教えてきました。 Javaはだいたい書けるけど、Groovyとかよくわかりません!みたいな人に最低限のGroovyの使い方とSpockを教えるみたいな感じです。 javajo.doorkeeper.jp すすめかたはだいたい次のような感じです。 GitHubからソースコードをダウンロードしてもらう kyon_mmがスライドで概要をつたえる kyon_mmがIDEでサンプルコードをひらきながら解説する 参加者がサンプルコードのテストが失敗している部分を通るように直す kyon_mmがテストが通るようにコードを記述するのデモする Groovy/Spockの基については2 - 5を繰り返す 解説がおわったらペアプロでTDDライクにSpockをつかいながらコードをかいて

    Java女子部でSpockの入門ハンズオン講師しました。 #javajo - うさぎ組
    nyasba
    nyasba 2017/04/06
    社内でも声かけてみようかな
  • Jenkinsで排他的にジョブを実行させる - うさぎ組

    Hudson Locks and Latches plugin Jenkinsのジョブを排他的に実行する場合は「Hudson Locks and Latches plugin」というプラグインを使用します。 インストールするとジョブの設定画面に「ビルド環境」という項目が表示され、「Locks」というチェックボックスがあります。 この「Locks」をオンにすると排他対象のジョブとなります。 ※nameリストボックスについては後述するのでとりあえず(default)のままでよし。 つまりジョブA、ジョブB、ジョブCが存在するときにジョブAとジョブBを排他実行したい場合は ジョブAとジョブBの「Locks」をオンにしましょう。 排他グループの指定 排他させたいグループは「Locks」をオンにしたときに表示される「name」リストボックスでグループを指定できます。 インストール直後はdefault

    Jenkinsで排他的にジョブを実行させる - うさぎ組
  • 週刊ソフトウェアテスト 2014-51 #swtest_jp - うさぎ組

    前書き ソフトウェアテストにまつわるニュースを週毎にお届けする記事です。内容はid:kyon_mmの独断と偏見です。オススメの記事があるときや、質問などなどはコメントや@kyon_mmにご連絡くださるとうれしいです。 ハッシュタグ #swtest_jp でソフトウェアテストに関する事をツイートしてくださるととてもうれしいです!(なにかの紹介でも、議論でも、質問でも! kyon_mmの意見 Uncle BobがTDDを行うときのサイクルの時間を状況毎にまとめてくれました。The Cycle of TDDわかりやすい例でとてもよいかと思います。まぁみなさんこれくらいを基にやりましょう。 先週はシステムテスト自動化カンファレンスが東京で開催されました。僕も講演とハンズオン講師をしました。ハンズオンではシステムテストがいかに難しいかということを感じつつも、第一歩や目標といったものを感じてもらえた

    週刊ソフトウェアテスト 2014-51 #swtest_jp - うさぎ組
  • Geb 0.9.xの新機能紹介 #gadvent - うさぎ組

    はじめに これはG* Advent Calendarの11日目の記事です。今日はGeb0.9系の新機能について書きます。明日はid:kyon_mm さんのGroovyでテストをテストする です。 概要 GebはWebアプリケーションのGUIテストライブラリで、Selenium WebDriverのGroovyラッパーになっています。 先日Geb 0.10の新機能は紹介したので、その前バージョンである0.9系で追加された機能を紹介します。ビルドツール連携やBrowserStack連携が強化されていますが、その紹介はまた別の機会に。 viaを使うことで、atチェックをシないで指定ページに遷移する to Pageではatチェックが実行されますが、via Pageを使うことにより、atチェックは実行せずに遷移だけになります。 via ExamplePage 独自Navigatorを実装する Nav

    Geb 0.9.xの新機能紹介 #gadvent - うさぎ組
    nyasba
    nyasba 2014/12/12
  • Geb 0.10の新機能紹介 #gadvent - うさぎ組

    はじめに これはG* Advent Calendarの5日目の記事です。今日はGeb0.10の新機能について書きます。明日はid:grimrose さんのRatpackについて です。 概要 GebはWebアプリケーションのGUIテストライブラリで、Selenium WebDriverのGroovyラッパーになっています。 最近Geb 0.10がリリースされたので、言語面における新機能を紹介します。ビルドツール連携やBrowserStack連携が強化されていますが、その紹介はまた別の機会に。 Geb 0.10の新機能 CSSへのアクセスが容易になった 兄弟要素や子要素へのアクセスが容易になった クリック後に非同期処理が実行されるオブジェクトにwaitを指定できるようになった CSSへのアクセスが容易になった PageObjectだったり、直接取得したようなNavigator(いわゆるDOM

    Geb 0.10の新機能紹介 #gadvent - うさぎ組
    nyasba
    nyasba 2014/12/06
  • Spock1.0でBDDとレポートが進化している! #gadvent - うさぎ組

    はじめに これはG* Advent Calendarの2日目の記事です。今日はSpockの新機能について書きます。明日はRyotaMurohoshi さんの「初心者でも】やろうぜGroovy!〜Web APIたたいたり、レスポンスの中身確認したり、データを保存したり〜編【今すぐ使える】」です。 概要 2014/12現在、最高のユニットテスティングフレームワークであるSpockの次のメジャーバージョンである1.0の機能を紹介します。 BDDを強力にすすめるためのアノテーションと、最高にクールなテストレポーターが実装されました。個人的には当に当に素晴らしいリリースです。 はやくこい!!!!! サンプルプロジェクト サンプルプロジェクトをこちらにあげておきました。参考にしてみてください。 gradle testReportやgradlew testReportとしてみてください。テストが実行

    Spock1.0でBDDとレポートが進化している! #gadvent - うさぎ組
    nyasba
    nyasba 2014/12/03
  • Gradleの最新版を簡単に使う方法 - うさぎ組

    Gradleの最新を使いたい Gradleは素晴しいビルドツールで、インストールも簡単です。でも、成長がはやいので、いったい何がGradleのトレンドなのかわからなくなることも最もです。また、Gradleのバグが直っている可能性を考えると最新版を使いたくなります。 つまり、僕が一番使っているGradleのバージョンはmasterブランチなんですよ。実は簡単に使えるので、紹介します。 最新版を利用する準備 次のツールがインストールされている前提です。 gvm / posh-gvm JDK8 git gvm install gradleでgradleをインストールできます。基的にgradle.orgでリリースされているものが使えます。でも、それでは満足できないです。ということで、次のコマンドを実行しましょう。 git clone https://github.com/gradle/gradl

    Gradleの最新版を簡単に使う方法 - うさぎ組
  • Spockのテストレポートが想像以上に凄い件について - うさぎ組

    タイトルはホッテントリメーカーを使いました。http://pha22.net/hotentry/tb/r?word=Spock%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88&phrase=9 全国49万のSpockユーザのみなさま。SpockのMLを見ていると思うので、ご存知かもしれませんがSpockのテストレポートをご存知でない方もいると思うので紹介します。 Spockのテスト結果はだいたいみんなGradleで見ている Spockは言わずと知れたUnitTestingFramework界最強といわれるテスティングフレームワークですが、これのテストレポートは通常はJUnitのテストレポートXMLであり、多くのSpockユーザはGradleでビルドをしてGradleが生成するテストレポートを見て

    Spockのテストレポートが想像以上に凄い件について - うさぎ組
  • Spockの知られざる機能 - うさぎ組

    僕だけが知らなかったのかもしれません。。。 Spockではテストメソッドに@Unrollとつけると、パラメタライズがテストメソッド名に反映されます。これとっても見やすくてよいです。 こんな感じ。。。 class WhenWatchingUstream extends Specification { @Unroll def "should show #channel when click #channel window"(){ expect: // click channel where: channel << ["Cooking", "Music", "Animation"] } } にしておくと ところがです。テストメソッドが大量になってくると、テストメソッドのたびに@Unrollとつけるのが陶しくなります。JUnit4の@Testから逃れたと思ったら、今度は@Unrollがおってくる

    nyasba
    nyasba 2014/08/25
  • テストをテストする方法 #1 - うさぎ組

    投稿はずいぶんと前に書いたものですが、せっかくなので公開します。 要求元はたしか@ebc_2in2crcさんだった。 ソフトウェア開発においてテスト自体が正しいかどうかを確認することは非常に困難です。どんなときにテストの正しさを気にするかというと、自分には3つありました。 テストをレビューするとき テストのリファクタリング 知らないプロダクトを触るとき それぞれでどのような施策を打てるかやってみたことを書きます。 テストをレビューするとき 具体的な値を使っているテストは同値内のいずれかの値に変更してみる テストをレビューするときにテストが正しいかどうかを簡単にまず試す方法としては、入力値を同値内のいずれかの値に変更することです。QuickCheckやランダム値生成などを使っていない貧困なテストでは同値分割ができていない事によるテストもしくはプロダクトのバグが発見できていない場合があります

    テストをテストする方法 #1 - うさぎ組
  • 1