社内勉強会で使った資料。開発者自身が行う自動化テストについての考え方と、実際に使っているテストツール(Cucumber, Capybara, PhantomJS等)について解説しました。
前半は開発者自身が書く自動化テストコードについての考え方、後半は具体的なテストコードの例を紹介しました。
前半については、テストの話題で一般的に言われている常識に真っ向から反抗しております。「カバレッジは気にしない」「単体テストより統合テスト優先」「テストファースト無視」など、一般的な常識からすると無茶苦茶なことを言っているようですが、リアルな開発の現場で、テストを有効に行うための現実論を述べています。
また、後半ではRubyを使ったテスト環境としてCucumber+Capybara+Poltergeist+PhantomJSの組み合わせを紹介し、Test::Unit, Rspec, Cucumberで同じテストを行う時のコードの違いや、Cucumber+Capybaraの組み合わせを使う際の柔軟性のあるステップ定義などを述べました。
なお、今回のスライドで使用したデモのソースコードはGitHubにアップしています。ご自由に活用ください。
https://github.com/takaaki-kasai/cucumber-demo/tree/master