You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
RSepcをつかったModelとControllerの基本的な(ユニット)テストは、 なんとか書けるようになってきましたが、 「ちゃんとテストやれてる!」 と言えるにはまだまだ、 インテグレーションテスト エンドツーエンドテスト 受け入れテスト 色々とやれることはあります。 直近、ユーザーのアクションがより重要なサービスの開発を進めることもあり、 「エンドツーエンドテスト」をやれる良さ気な方法は何か調べてみて、動くまでをまとめてみした。 ※結論からいうと、「RSpec ☓ Capybara ☓ Poltergeist」で書くことにした記事です。 目次 過去記事(RSpec設定/MCtest) E2Eテストに何が必要? シナリオ(ステップ)を書くのはどれがいい? js動作のドライブはどれがいいの? E2Eの環境セットアップ方法は? feature specの書き方は? おわりに 過去記事 ※
この記事はeXcale Developer's Blogから移転されたものです。 eXcale 開発チームの冨樫です。 Ruby のテストフレームワークで人気の RSpec について、ハマりそうな点や知っておくと便利な機能をご紹介致します。 今回は「ブロック付きメソッドの stub 化」です。ブロック付きメソッドは each や map だけでなく、ファイルやネットワークを介した操作をするとき等、様々な場面で使用されるので、この stub 化については役立てる機会が多いかと思います。 eXcaleでは期間限定でサインアップキャンペーン実施中です。 キャンペーン内容についてはこちらを参照してください。 今回ご紹介する内容の題目です ブロック付きメソッドを stub 化する ブロック処理内で stub 化したオブジェクトを使用する ブロック処理内で任意のメソッドを実行する ブロック付きメソ
Thorでタスクを書くとそのメソッドが普通のRubyのようには呼べません。 それでもやっぱりテストは書きたいのでThorのspecをいろいろ見てたらありました。 # encoding: utf-8 require "rubygems" require "thor" require "rspec" require "stringio" class Sample < Thor desc "name", "sample name" def name puts "pochi" end end describe Sample do it "should display 'pochi'" do capture(:stdout) { Sample.new.invoke("name") }.strip.should == "pochi" end end
RubyMineでRSpecを使う際、設定しておくと便利な小技を紹介します。 Springを利用する Rails 4.1 からデフォルトになっているプリローダで、もうないと我慢出来ないぐらいです。 RubyMineで使いたい場合は、下記で設定できます。 auto test RSpecなどのテストを実行したら、下記の実行結果が表示されますが、左には「Toogle auto-test」のスイッチがあります。 これを活性化すると、保存する都度 前回の実行したテスト が自動で実行してくれます。 厳密に言いますと、「保存する都度」のではなく、一定の間隔でファイルの変更があるかどうかを検出するのです。 その間隔は最短1秒までに設定できます。 run context configuration 保存すると自動でテストを実行してくれるのは楽ですが、実際の開発ではよく 「このexampleだけ」とか「このc
タイトル長い。すまぬ。PHPerとして約10年近く。Ruby自体は案件によってちょこっとだけ触ったことがある程度。Rails自体を本格的にさわるのは今回が初めて。PHPだとCakePHPを中心にZend/Symfonyなどいくつか。そんな僕が今回、Rails4デビューをして、WebAPIを作り、RSpecでテスト駆動開発風味で、GitHubプルリクベースの、CircleCI経由デプロイをするまでの開発の流れをひと通りやってみて、分かったことがいくつかあったので、それをまとめてみた。過去の自分のために。 注意点としては、今回作ったのはWebサービスではなく、スマホゲーム(ネイティブ)のサーバサイドWebAPIという点。なので、いわゆるViewに関わる部分はあんまり出てこないです。すまぬ。 それと、ひと通りの流れをチュートリアル的に解説するような記事ではなく、躓いたポイントだったり、当時分かり
I want to test a file upload in rails, but am not sure how to do this. Here is the controller code: def uploadLicense #Create the license object @license = License.create(params[:license]) #Get Session ID sessid = session[:session_id] puts "\n\nSession_id:\n#{sessid}\n" #Generate a random string chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a newpass = "" 1.upto(5) { |i| newpass << cha
最近の RSpec は、それまで obj.stub(hoge: value) と書けたものが、 allow(obj).to receive(:hoge).and_return value と書かないといけなくなったりとか、正気の沙汰とは思えないような変更をしたりするので、何年かぶりに Test::Unit を使ってみようとリハビリ中です。 RSpec は、テストケースを入れ子にできたり、テストケースや example がクラスやメソッドではなく、文字列で自由に書くことができたりしたのが良かったのですが、最近の Test::Unit ではそれもできるようになっています。 [ruby-list:48926] [ANN] test-unit 2.5.2 このリリースはとみたさんに使ってもらえるように改良したリリー スです。新しく追加した--locationはRSpecの--line_number
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く