タグ

testingに関するmactkgのブックマーク (9)

  • BDD は Given, When, Then のことだと勘違いされているんじゃないか

    たまたま社内で自分が主催しているアジャイルに関する勉強会で BDD (Behaviour-Driven Development) の話をすることがあった。 個人的には、「Given, When, Then でテスト書くやつでしょ?」といった形で Gherkin記法 だけが一人歩きしている印象があるためその誤解を解くことを目的にその勉強会では話題に挙げたのでその熱が冷めないうちに自分の認識のメモを残しておきたい。 とはいえ、 https://cucumber.io/docs/bdd/ を読めば全てが書いてあるので気になった人はそちらを参照して欲しい。 前置きはそれくらいにしつつ、上記のドキュメントの中から抜粋してきた以下の画像が BDD の全体を示している。 この図が言わんとすることは、 BDD というのは Discover Formulation Automation の3つのステップで構

  • RSpec では context 間の違いを表現するときにのみ let を使う - id:onk のはてなブログ

    Test which reminded me why I don't really like RSpec | Arkency Blog (日語訳:Rails: RSpecが好きでないことを思い出したテスト(翻訳)|TechRacho by BPS株式会社) を見ての感想。 元のコードのイマイチなところは 4 つあって、 params を before で書き換えている *1 it "will succeed" の文言 it { is_expected.to be_success } と expect(result.success?).to eq(true) が混ざっている let が不思議な順序で連発されていて事前条件を読み解けない すべて、これによって何をテストしているのかが分かりづらくなっているという問題を引き起こす。 params を before で書き換えている let(:pa

    RSpec では context 間の違いを表現するときにのみ let を使う - id:onk のはてなブログ
  • 現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ

    この文章の背景について この文章はテスト容易性設計をテーマに 2013/11/26 に CodeIQ MAGAZINE に寄稿したものです。残念ながら CodeIQ のサービス終了と共にアクセスできなくなっていたため、旧 CodeIQ MAGAZINE 編集部の皆様に承諾いただき、当時の原稿を部分的に再編集しつつ、ライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で再公開いたしました。 旧 URL にいただいたブックマークとご意見はこちらです(これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE)。旧記事には当に多くの反響をいただき、誠に感謝しております。 目次 この文章の背景について 目次 出

    現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ
  • 幅広なテスト分析ができるようになろう

    39. テスト対象分析の準備 テスト対象分析をやる前の確認事項( ISTQB Advanced Level シラバス日語版 引用) ①テスト対象が記述されたドキュメントが存在するかいなか 例)要件定義書・設計書etc ②このドキュメントは、レビューに適切な評価で合格しており、レビュー後に必要に応じ て更新されている。 上記に当てはまらない場合には関係者にテスト対象について話を聞くなどの対策が必要!

    幅広なテスト分析ができるようになろう
  • Rails Developers Meetup で綺麗なテストコードの書き方について発表した - おもしろwebサービス開発日記

    昨日のRails Developers Meetupで綺麗なテストコードの書き方について発表してきました。 Rails Developers Meetup #1(東京会場) - connpass 資料はこちら 余談 もともと数年前くらいから、テストコードの書き方についてまとめたいなーと思っていたのですがなかなかキッカケがなくて手を付けられていませんでした。今回のミートアップ駆動で一通り形にするところまでいけて今とてもスッキリした気持ちです 😇 もっと多くの人にテストコードの書き方を意識してもらいたいので、また機会があればどこかで喋りたいですね。 昨日発表した内容はGitHubリポジトリにまとめたものの一部です。綺麗なテストコードの書き方について詳しく知りたい方は下記のリンクからどうぞ。 willnet/rspec-style-guide お願い 今回まとめた内容はあくまで僕が考えるテスト

    Rails Developers Meetup で綺麗なテストコードの書き方について発表した - おもしろwebサービス開発日記
  • rubyの`# =>`を検証するやつを書いた - Qiita

    とか書いてあるじゃないですか。# => を挟んで、左辺が式で右辺がその結果というやつ。 それ、でも、どんだけ信じていいの? そのコメント作るだけであれば JoshCheek/seeing_is_believing で作れるんだけど、逆がないんだよね。 というわけで作った。 https://rubygems.org/gems/xmp2assert 実装について ごくラフなアイディアとしては actual # => expected って書いてあったら assert_equal(expected, actual) に変換する。これが着想。 とはいえこの式はRubyの式なわけで、正規表現置換のような生易しいことにはならない。Ripperでがんばってコメント位置を発見して、その直前にある式を…… みたいなのをやっていて非常に面倒。 このコメントはコメントであるがゆえに実行時には読み飛ばされるので、

    rubyの`# =>`を検証するやつを書いた - Qiita
    mactkg
    mactkg 2017/04/04
    おもしろい
  • 一から始めるJavaScriptユニットテスト - Hatena Developer Blog

    この記事は、はてなエンジニアアドベントカレンダー2016の5日目の記事です。 こんにちは、はてなでアプリケーションエンジニアをしている id:shiba_yu36 です。先日、buildersconにおいて、現在所属しているプロジェクトJavaScriptのユニットテストを導入した知見について、「一から始めるJavaScriptユニットテスト」というタイトルで発表しました。 speakerdeck.com この発表は、実際にJavaScriptのユニットテスト環境を作ってみると非常にハードルが高いと感じたので、そのハードルを少しでも下げられればという思いで、非常にシンプルな例で一から環境を作る例を紹介しました。アジェンダは次のとおりでした。 カクヨムのJS環境 JSのテストツールを整理する 通常の関数のユニットテスト DOM操作する機能のユニットテスト カクヨムのJS環境や、JSのテスト

    一から始めるJavaScriptユニットテスト - Hatena Developer Blog
  • フリーエンジニアのIT案件ならレバテックフリーランス

    2016年11月3日(祝)、大田区産業プラザPiOにて開催された国内最大のPHPイベント「PHPカンファレンス2016」。レバテックフリーランスでは、カンファレンスセッションの登壇者のひとり・和田卓人氏にインタビューを実施しました。 テスト駆動開発の先駆者として知られる和田氏ですが、今回の講演テーマは「PHP7で堅牢なコードを書く-例外処理、表明プログラミング、契約による設計」。あえてテスト以外のテーマを設定した理由をはじめ、PHPの優位性や今注目している言語、初心者エンジニアへのアドバイスなど、幅広くお話を伺ってきました。 <この記事の要約> 1. PHPの良い点は、ゆるふわな言語に見せかけて堅牢なコードも書けるところ。悪い点は、覚えることが多くて難しいところ。 2. テストを書いていればコードの品質が高いわけではない。また、テストが書けないくらい問題を抱えたコードでも、中から改善してい

    フリーエンジニアのIT案件ならレバテックフリーランス
  • Oktest - a new style testing library -

    Overview Oktest is a new-style testing library for Python. from oktest import test, ok, NG class FooTest(unittest.TestCase): @test("1 + 1 should be 2") def _(self): ok (1+1) == 2 # same as assertEqual(2, 1+1) @test("other examples") def _(self): ok (s) == 'foo' # same as assertEqual(s, 'foo') ok (s) != 'foo' # same as assertNotEqual(s, 'foo') ok (n) > 0 # same as assertTrue(n > 0) ok (fn).raises(E

  • 1