タグ

rspecに関するKinjouJのブックマーク (17)

  • RSpecで悲観的ロックのテストを書く - hitomedia Tech Blog

    こんにちは。花粉症で鼻水が止まらない日々が続いている hilotter です。 同一レコードに対し複数ユーザ(もしくはバッチ処理等)から同時に更新される可能性がある場合、排他制御を行う必要があります。 今回はシンプルなポイント付与機能を例に、悲観的ロックを用いた排他制御のテストを書いてみたいと思います。 シンプルなポイント付与機能仕様 ユーザは他のユーザにポイントを送ることができる 今回のサンプルは以下の環境で確認しました。 Rails 5.1.4 MySQL 5.7.20 MySQLのトランザクション分離レベル REPEATABLE-READ(デフォルト設定) add_pointメソッドの実装 Userモデルにポイントを付与できるadd_pointメソッドを追加します transaction内でlock!を用いて悲観的ロックをかけています。 # app/models/user.rb cl

    RSpecで悲観的ロックのテストを書く - hitomedia Tech Blog
  • 【Rails】RSpecと三種の神器でらくちんWeb APIテスト - Qiita

    はじめに 3月頃,『【Rails】RSpecでWeb APIのテストでハマったところ①』という初心者丸出しな記事を書きました. あれから9ヶ月ほど,お仕事としてRailsに触れたりしたため知見・スキルも向上してきたと思います. そして今,前述の記事を見直したところ恥ずかしくて顔を覆いたくなる感じになったので改めてWeb APIのテストについて書いていきます. APIのテスト? そもそもWeb APIのテストはどこに書くの?ってところからですが… Controller SpecではなくRequest Specに書いていきます. Use RSpec Request Specs Since we’ve established that we’ll be using Rack::Test to drive the tests, RSpec request specs make the most s

    【Rails】RSpecと三種の神器でらくちんWeb APIテスト - Qiita
  • [Ruby] よく使うRspecのレシピ集(Rspec3.3) | DevelopersIO

    モバイルアプリサービス部の五十嵐です。 最近Rspecをガッツリ書いたので、調べたことをユースケースごとにまとめてみます。 対象バージョンはRspec3.3です。 リフレクション Rubyのリフレクションを使用したテストの書き方です。 インスタンス変数を操作したい インスタンス変数を取得したい場合はinstance_variable_get、設定したい場合はinstance_variable_setを使います。また、instance_variable_setでモックを仕込むことでレシーバオブジェクトのインスタンス変数や動作を操作することができます。 obj = Person.new(name: 'Hoge') # initializerで@nameにnameがセットされる想定 name = obj.instance_variable_get('@name') expect(name).to

    [Ruby] よく使うRspecのレシピ集(Rspec3.3) | DevelopersIO
  • 使えるRSpec入門・その3「ゼロからわかるモック(mock)を使ったテストの書き方」 - Qiita

    はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第3回です。 今回はRSpecのモックを使ったテストについて説明します。 これまでモックを全く使ったことがない人でもわかるように丁寧に説明していくつもりです。 また、これまでの回と同様、個人的に使用頻度が低いと思っている内容についてはバッサリ説明を省きます。 ただし、第1回や第2回に比べるとテストコードが少し複雑になって、仕組みや動きを想像するのがちょっと難しいかもしれません。 ぱっと頭に入ってこない場合はじっくり文を読んだり、実際に自分で写経しながらコードを動かしたりするなどして、少し時間をかけながら理解するようにしてください。 今回は以下のような内容を説明します。 モックの基的な使い方 モックを使った検証 モックでわざとエラーを発生させ

    使えるRSpec入門・その3「ゼロからわかるモック(mock)を使ったテストの書き方」 - Qiita
  • RSpecでRequest Describer - Qiita

    WebアプリケーションのHTTPレベルでの振る舞いに対してテストを記述するとき、皆さんはどのような考えを持ってテストコードを記述しているでしょうか。この投稿では、この手のrequest-specと呼ばれるテストについて考えながら、テストを書くときの幾つかの方針と、RSpec::RequestDescriberを利用してテストコードを簡略化する方法を紹介します。 request-specとは request-specという、HTTPにおけるリクエストとレスポンスの組み合わせを、言わばブラックボックスとして扱うテスト形式の呼び名があります。リクエストを入力、レスポンスを出力として扱い、ある入力に対して期待される出力が返されるかどうかをテストします。rspec-railsの中では、request-specに対して以下の説明が与えられています。 Use request specs to speci

    RSpecでRequest Describer - Qiita
  • Rails+RspecでSSL・非SSLのテストするときはshared_context使うと捗る - Qiita

    RailsのコントローラのSSL・非SSLのときの振る舞いをテストするには request.env['HTTPS'] に 'on' か 'off' を代入すればいい。 describe SomeController do describe 'GET new' do context 'access using SSL' do before { request.env['HTTPS'] = 'on' } it do get :new # SSLでアクセスする end end context 'access not using SSL' do before { request.env['HTTPS'] = 'off' } # この中は非SSL end end end

    Rails+RspecでSSL・非SSLのテストするときはshared_context使うと捗る - Qiita
  • Factory Girl 3.x メモ - Qiita

    FactoryGirl.define do # 使用する際は:team1を指定する # シンボルがそのままクラス名ならclassは省略できる # name、addressがモデルの属性 factory :team1, class: Team do name :team1.to_s address '住所' end end

    Factory Girl 3.x メモ - Qiita
  • Rails4.0におけるstrong_parametersをどうテストするか。 - Qiita

    5月1日にRails 4.0.0.rc1がでましたね。 その時点で3,4週間でリリース出来ると行ってるので今月末ぐらいにはRails 4.0.0がリリースされそうですね。 Rails4.0.0で一番の変更点はやっぱりstrong_parametersですね。 controllerのprivateメソッドでparamsをpermitすることになるんですが、このテストをどう書くべきなのかなと悩んでます。 正直まだまだ、僕のTDDレベルは低いので色々とツッコミまってます(お手柔らかに。。)。 1. 環境 Rails (4.0.0.rc1) rspec (2.13.0) rspec-rails (2.13.1) factory_girl (4.2.0) factory_girl_rails (4.2.1) 2. controller 例えば、name, admin_flgを持つusersにおいて、

    Rails4.0におけるstrong_parametersをどうテストするか。 - Qiita
  • 初心者大歓迎!RSpec 3でドラッグアンドドロップ機能をテストする方法(スクリーンキャスト付き)

    はじめに 前回投稿した記事では、ドラッグアンドドロップで表示順を変更できる簡単なサンプルアプリケーションを作成しました。 しかし、説明は実装が完了したところで終わっていて、テストは全く書いていませんでした。 せっかくなので、テストも書いておきましょう。 「ドラッグアンドドロップのテストってマウスなしできるの?」と思う方がいるかもしれませんが、最近のテストフレームワークはこうした操作もテストできるように作られています。 というわけで、記事ではこのドラッグアンドドロップ機能をRSpec 3でテストする方法を説明します。 また、記事ではRSpecを全く知らない人でもテストが書けるように、RSpecのセットアップ手順から説明しています。 前回の記事はこちらです 記事では前回の記事で作成したサンプルアプリケーションにテストを追加していきます。 まだ読んでない人は先に読んでおくことをオススメしま

    初心者大歓迎!RSpec 3でドラッグアンドドロップ機能をテストする方法(スクリーンキャスト付き)
  • 今日から使える!RSpec 3で追加された8つの新機能 - Qiita

    はじめに RSpec 3が正式リリースされて2ヶ月ほど経過しました。(正式リリースは2014年6月) ネットの情報を見ていると、これまでは「既存のテストケースをRSpec 3にアップグレードさせる方法」や「RSpec 3で削除されたり、記法が変わったりした点」など、「守りの姿勢」に入った情報が多かったように思います。(僕自身もそういう情報をたくさんアップしていました) しかし、RSpec 3では以前のバージョンでは使えなかった新しい機能も数多く導入されています。 そこで記事では「攻めの姿勢」で「RSpec 3から導入された新機能」をまとめてみました。 なお、ここでフォーカスするのはテストコードの書き方にダイレクトに関わってくるマッチャの新機能です。 2015.01.12:RSpec 3.1に関する情報を追記しました RSpec 3.1に関する情報も追記しました。 もともと紹介していた新機

    今日から使える!RSpec 3で追加された8つの新機能 - Qiita
  • http://blog.inouetakuya.info/entry/2013/10/27/200111

    http://blog.inouetakuya.info/entry/2013/10/27/200111
  • [Ruby on Rails]画像をアップロード・ダウンロードするコントローラの呼び出しとRSpec | DevelopersIO

    はじめに 画像をアップロード・ダウンロードする処理をRuby on Railsで作成する際、画面がないなどの理由で、コンソールから画像をアップロードする事や、ControllerのRSpecにて動作を確認することがあります。 今回はそれらの具体的なソースと、簡単なRailsの実装について書いてみたいと思います。 1.今回作成するアプリについて 先に書いたように、画像をアップロード・ダウンロードする処理をRuby on Railsにて実装します。アップロードした画像はアプリサーバ内の/public/imgフォルダ内に保存します。ダウンロード時にはURLパラメータにてファイル名を指定し、/public/imgフォルダ内よりファイルを取得してクライアントに送る仕組みです。(ファイル名を直に指定するのは、サンプルなので簡略化するためです。) 2.ルーティング アップロード処理はarticles/u

    [Ruby on Rails]画像をアップロード・ダウンロードするコントローラの呼び出しとRSpec | DevelopersIO
  • excale.net

    This domain may be for sale!

    excale.net
  • How to Stub External Services in Tests

    Requests to external services during test runs can cause several issues: Tests failing intermittently due to connectivity issues. Dramatically slower test suites. Hitting API rate limits on 3rd party sites (e.g. Twitter). Service may not exist yet (only documentation for it). Service doesn’t have a sandbox or staging server. When integrating with external services we want to make sure our test sui

    How to Stub External Services in Tests
  • Rails API Testing Best Practices · Matthew Lehner

    Something went wrong! Hang in there while we get back on track Writing an API is almost a given with modern web applications. I’d like to lay out some simple guidelines and best practises for Rails API testing. We need to determine what to test and why it should be tested. Once we’ve established what we will be writing tests for, we will set up RSpec to do this quickly and easily. Basically we’ll

  • 酒と涙とRubyとRailsと

    title: “ [Gem] Webmock RSpecのWebアクセスのモックを作成してくれる超便利Gem [Rails]” category: Rails 😼 tags: [Rails, Ruby, Gem]WebからデータをダウンロードするプログラムのRSpecで、Webにいちいちアクセスしたくない場合に重宝するのが、「Webmock」です。これを使えばある時点のデータを使えるので、テスト結果が更新されて変わるような事態を防ぐことができます! bblimke/Webmock · GitHub

    酒と涙とRubyとRailsと
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • 1