並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 155件

新着順 人気順

RSpecの検索結果81 - 120 件 / 155件

  • Rubocop の RSpec/MessageSpies に対応する際は処理順の書き換えが必要

    Leaner 開発チームの黒曜(@kokuyouwind)です。 AWS Startup Community Conference 2022 に CfP を出したので通ってほしい今日このごろです。 さて、今回は Rubocop 警告の修正で少し手間取った話を書きます。 RSpec/MessageSpies に引っかかったコード あるクラスで「Rails.logger に特定文字列を出力していることを検証したい」というケースがあり、この spec を以下のように書いていました。 # ログを出力するクラス class Hoge def log Rails.logger.info('test message') end end # spec RSpec.describe Hoge do describe 'log' do let(:logger) { instance_double(Active

      Rubocop の RSpec/MessageSpies に対応する際は処理順の書き換えが必要
    • GitHub - asonas/rspec-daemon

      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

        GitHub - asonas/rspec-daemon
      • CI Test環境を作り直した話 - アクトインディ開発者ブログ

        CI Test環境を作り直した話 morishitaです。 いこーよは Rails アプリケーションです。 ユニットテストには Rspec を利用しています。 それなりに大きなアプリケーションなので全スペックを実行するにはそれなりに時間がかかります。 ローカルPCで全スペックを実行したことはないのですが、試みて終わるのを待てなくて途中で中断する程度には時間がかかります。 実装中のクラスを中心に部分的に Rspec を実行しながら実装しますが、思わぬところに影響していたりすることもまれにあるので、コードレビューに出す前には全部通しておきたいところです。 以前は Docker コンテナを動的に作ってその中で実行する自作の Web アプリケーションがあって、社内に立てたサーバで動かしていました。 一方で他のプロダクトではすでに CodeBuild で RSpec を実行していました。 tech.

          CI Test環境を作り直した話 - アクトインディ開発者ブログ
        • RSpec Style Guide

          This RSpec style guide outlines the recommended best practices for real-world programmers to write code that can be maintained by other real-world programmers. RuboCop, a static code analyzer (linter) and formatter, has a rubocop-rspec extension, provides a way to enforce the rules outlined in this guide.

          • 【Rspec】共通処理concernsのテストはStructを使うといい - Qiita

            環境 Ruby 3.0.2 Rails 6.1.4.1 Structについて Rspecで共通処理concernsのメソッドテストを実行する際はStructを使うとテストできる 下記のようなconcernsがあったとする

              【Rspec】共通処理concernsのテストはStructを使うといい - Qiita
            • rspec 「let」と「let!」の違い - Qiita

              #composerが複数のsongを持つものとする Rspec.describe Sample do let(:composer) { create(:composer) } let(:composer_song) { create(:song, composer: composer, title: 'きらきら星') } it '〜〜' do expect(composer).to ~~ end end end ここでは、expect(composer).toのcomposer が出てきたタイミングで、letで定義したcomposerがcreateされる、ということになります。遅延評価と言うそうです。 以下のコードでは、テストは失敗します。 #composerが複数のsongを持つものとする Rspec.describe Sample do let(:composer) { create(

                rspec 「let」と「let!」の違い - Qiita
              • instance_doubleとinstance_spyの使い分け

                RSpecの #instance_double と #instance_spy の使い分けについて考察してみた。個人の見解です。 環境・バージョン ruby 2.7.0p0 rspec-mocks 3.9.0 #instance_double と #instance_spy の違い・共通点 Verifying Doubles #instance_double も #instance_spy も、Verifying Double と呼ばれるオブジェクトを返すという共通点がある。 これは何かと言うと、テストダブル対象のインスタンスに存在しないメソッドがスタブされた場合や、引数が異なる形式でメソッドが呼び出された場合にエラーを起こしてくれるという機能を持つオブジェクトである。 一方、#double や #spy が返すオブジェクトにはそういった機能はなく、存在しないメソッドをコールしても良いし、

                  instance_doubleとinstance_spyの使い分け
                • CircleCIでSystemSpec(RSpec)とRubocopを走らせる - Qiita

                  はじめに CircleCIを使ってSystemSpec(RSpec)とRubocopを走らせてみました。 基礎的な学習から実際に使ったソースコードをまとめたので参考になれば幸いです。 基礎学習 教材: 入門ガイド - CircleCI いまさらだけどCircleCIに入門したので分かりやすくまとめてみた 基本的な使い方を知るために公式で用意されている入門ガイド - CircleCIをやりました。 手を動かしながら学習できて、30分ぐらいで終わるのでおすすめです。 次に、いまさらだけどCircleCIに入門したので分かりやすくまとめてみたを読みました。 こちらの記事は、CircleCIについてかなり詳細に説明されています。 最初にざっくり読んだ後、わからないことがあったらこの記事を読み直していました。 CircleCIの実装 参考文献 公式のCircleCI-Public/circleci-

                    CircleCIでSystemSpec(RSpec)とRubocopを走らせる - Qiita
                  • allow_any_instance_ofを使うとRubocopに怒られる理由

                    自身が参加するプロジェクトでは、rubocopの縛りによりallow_any_instance_ofを使用すると警告が出てしまいます。 先延ばしが得意な私は、一旦allow_any_instance_ofで逃げといて後で書き換えよーみたいなことをしてしまっていて、結局あとで調べながら書き直すということを繰り返していました。 そのため改めて記事にすることで「一旦allow_any_instance_ofで逃げる」ということがなくなるかなと思い書いています。 allow_any_instance_ofの書き換え # Avoid stubbing using `allow_any_instance_of`. (convention:RSpec/AnyInstance) # allow_any_instance_ofの使用を回避してね。 before do allow_any_instance_o

                      allow_any_instance_ofを使うとRubocopに怒られる理由
                    • circleciに入門したので設定ファイルを解説する。 - Qiita

                      初めに 今回は備忘録を兼ねて、circleciの基礎について解説します! 私と同じようなビギナーの方に向けてできるだけ分かりやすく解説しますので良ければご覧ください。 なお、今回使用するCircleCIのconfig.ymlはリンク先の記事を使用させていただいております。 【circleCI】Railsアプリでgithubと連携してrubocopとrspecテストを走らせる 使用する設定ファイル 今回はcircleciの設定ファイルについての解説ですので、導入方法などについては割愛します。 # Ruby CircleCI 2.0 configuration file # # Check https://circleci.com/docs/2.0/language-ruby/ for more details # version: 2 jobs: build: docker: # speci

                        circleciに入門したので設定ファイルを解説する。 - Qiita
                      • Rails + RSpecにて、changeマッチャまわりをいろいろ試してみた - メモ的な思考的な

                        前回に続き、RSpecのchangeマッチャに関する記事です。 値の変化を検証する時は change マッチャが便利です。 ただ、「こんな時どうするんだっけ」と調べることが多かったことから、 change マッチャまわりをいろいろ試してみたときのメモを残します。 目次 環境 ドキュメントについて メソッドスタイルとブロックスタイル 増減を確認する(by, from, to) 増減の幅(最小・最大)を検証 (by_at_least, by_at_most) 変化がないことを検証 (not_to + change) andとchangeの組み合わせ 2つとも変化あり (change and change) 1つは変化あり、もう1つは変化なし (and + define_negated_matcher) changeとreloadについて 更新のあったモデルのインスタンスを検証するときは rel

                          Rails + RSpecにて、changeマッチャまわりをいろいろ試してみた - メモ的な思考的な
                        • Set Session in RSpec with Rails 7 API

                          I am trying to create a logic where a user gets an invitation from a group. If they signup via that invitation, the group id will be stored in the session and when they signup, they will be automatically added to the group as a member. I am using Devise for authentication. So I customized it like this: class Users::RegistrationsController < Devise::RegistrationsController def create super if @user

                            Set Session in RSpec with Rails 7 API
                          • 【Rspec】Factory Botで効率的にテストデータを用意する

                            はじめに今回は、効率的にテストデータを用意する方法についてまとめていきます。具体的には、「Factory Bot」を使用したテストデータについてです。Factory Botの導入方法から始まり、継承やtraint、コールバックの機能に関して説明していきます。最後には「まとめ」としてFactory Botを使用する際の注意点もまとめていきます。 Factory BotとはFactory Botとは、テストのサンプルデータを簡単に作成することができる構文を提供してくれるgemです。Factory Botには様々な機能が存在し、効率的にサンプルデータを用意するのに適しています。 Factory Botのインストールそれでは、Factory Botの導入を行います。Gemfileのテスト・開発環境において、gem ‘factory_bot_rails’の記述を追加しましょう。 group :dev

                              【Rspec】Factory Botで効率的にテストデータを用意する
                            • Factorybot 改善ツール作成失敗と学び/ Factorybot improvement tool creation failure and learning

                              Factorybot 改善ツール作成失敗と学び/ Factorybot improvement tool creation failure and learning

                                Factorybot 改善ツール作成失敗と学び/ Factorybot improvement tool creation failure and learning
                              • rspec-mocksを使ってテストで上手に手を抜こう

                                対象 RSpec での簡単なテストの書き方は基本的に知っている rspec-mocks を使ったテストを知らない|知ってるけど雰囲気で使っている 上記に当てはまる私自身が、テストをより効率的に書くために、広く浅くざっくり調べた内容のため、より詳しく知りたい人は公式ドキュメントなどを漁ってください。 ※記事中に出てくるコードの多くは、RSpec によるテストコード内で実行されるコードです。周辺のコードは省略するので、適当に文脈から読み取ってください。 前提 rspec-core (3.7.1) rspec-mocks (3.7.0) rspec-rails (3.7.2) rspec-support (3.7.1) rspec-mocksとは rspec-mocksは、RSpec用のテストダブルフレームワークで、モックとかスタブとかスパイとかサポートしてくれます。 テストダブルとは、テスト対

                                  rspec-mocksを使ってテストで上手に手を抜こう
                                • rspecでモックを使うときに気をつけていること

                                  スタブとは テストコード内で利用されるもの。 テスト対象のメソッドや処理から、別のメソッドを介してデータを取得したり加工したりする場合に、決まりきった値を返すように設定したものを指す。 class A def initialize @b = B.new end def hoge ... @b.fuga ... end end A#hoge のユニットテストを書く場合に、B#fuga の細かい挙動については知る必要がなく、A#hoge のテストをするに当たって都合のいい値さえ返してくれればいい。(もちろん B#fuga 別途ユニットテストを書く必要がある。) テストを記述する際に、そのテストで確認したい内容のために何か都合のいい値を返すように設定したものがスタブである。 モックとは モックもテストコード内で利用されるもの。 あるメソッドを呼び出す際に、その引数や呼びされる回数を検証するために

                                    rspecでモックを使うときに気をつけていること
                                  • 【CircleCI】『Unable to find gem rubocop-discourse; is the gem installed? Gem::MissingSpecError』が出てRuboCopが失敗する際の解決方法 - Qiita

                                    【CircleCI】『Unable to find gem rubocop-discourse; is the gem installed? Gem::MissingSpecError』が出てRuboCopが失敗する際の解決方法RailsGemCircleCIRuboCop はじめに 本記事では、CI(RuboCop、RSpec)のみ動作させています。 設定ファイルの細かい説明については、分かりやすい記事がたくさんあるのでそちらにお任せします。 参考にさせていただいた記事↓ 最後に私の.circleci/config.ymlの設定ファイルを参考までに記載します。 CircleCI上でRuboCopがエラーになる CircleCIでRuboCopを動かすと次のようなエラーが発生しました。 Unable to find gem rubocop-discourse; is the gem ins

                                      【CircleCI】『Unable to find gem rubocop-discourse; is the gem installed? Gem::MissingSpecError』が出てRuboCopが失敗する際の解決方法 - Qiita
                                    • 【RSpec】described_classについて - Qiita

                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                        【RSpec】described_classについて - Qiita
                                      • 【Rails】Rspecの環境構築手順をざっくりまとめてみた

                                        1.この記事をなぜ書いたか Rspecを勉強して学んだことをまとめるために書きました。 今すぐRspecの環境構築手順を見たい方は、4章から見ることをオススメします。 記事の中で間違いがある場合、コメント頂けると嬉しいです。 2.そもそもRspecとは何か? Rspecとは、「プログラムの振る舞い」を記述するためのドメイン特化言語(DomainSpecific Language:DSL)を提供するテストフレームワークのことです。 ドメイン特化言語とは、特定のドメイン(問題領域)を記述するために設計された言語です。Rspecの場合、特定のドメインは「開発対象のプログラムの振舞い」を表します。 そして、Rspecが提供するDSLを使用してテストコードを書くことによって、Railsアプリケーションの挙動をテストすることができます。 3.Rspecとminitestの違いとは? テスト機能を提供す

                                          【Rails】Rspecの環境構築手順をざっくりまとめてみた
                                        • Setting session variables in an RSpec Rails request spec

                                          rspec_rails_set_session.md Setting session variables in an RSpec Rails request spec You are writing a spec with type: :request, i.e. an integration spec instead of a controller spec. Integration specs are wrappers around Rails' ActionDispatch::IntegrationTest class. I usually write controller tests using this instead of type: :controller, mainly because it exercises more of the request and respons

                                            Setting session variables in an RSpec Rails request spec
                                          • ActiveSupport::Testing::TimeHelpers を rspec-rails をロードする前に include すると travel_back が動かない - 暇人じゃない

                                            ActiveSupport::Testing::TimeHelpers の travel_to を使って日時を固定するテストで、 それ以降に実行する他のテストでも日時が固定されたままになっている現象に遭遇した。 # foo_spec.rb describe 'foo' do before { travel_to(Time.zone.now) } # ... end # bar_spec.rb describe 'bar' do # 日時が固定されたまま end

                                            • FactoryBotでのデータ生成を今一度見直す - スタディサプリ Product Team Blog

                                              FactoryBotでのデータ生成を今一度見直す こんにちは。 プロダクトプラットフォームチームの@kazu9suです。 今回は、DX(Developer Experience)改善活動の一環として、テストにおけるデータ生成を見直したお話をしたいと思います。(所要時間5分程度で読める内容です) 背景 スタディサプリでは、新規サービスにおいてはGoなど別言語での開発も推進していますが、今でもメインのシステムはRuby on Railsで構成されており、テスト時のデータ生成には FactoryBotを利用しています。 スタディサプリチームはCIでの並列実行によるテスト実行時間の短縮など足回りはとても整備されているのですが、テストを書くという体験そのものにはまだ改善の余地があるのではないかと思われました。 そこで改善施策の一環として、FactoryBotを活用したデータ生成を見直してみることにし

                                                FactoryBotでのデータ生成を今一度見直す - スタディサプリ Product Team Blog
                                              • Dealing with Flaky Tests

                                                Jason Swett asked on Twitter if anyone has an app with 2000+ tests that does not have a severe flaky test problem. I have two such apps, and I want to share the lengths I’ve gone to to make the tests not flaky. In a nutshell, you have to build and design for testability at all levels, plus ensure your tests are clear about what is the cause of a failure. Why Are Tests Flaky? In my experience, test

                                                • flashメッセージが時々表示されないflakyテストを改善した話 - おもしろwebサービス開発日記チラシの裏

                                                  Railsで cookie sessionを使っている 非同期でAPIをよく叩いている という条件下で、例えば日報を投稿したあとに"投稿しました!"というflashメッセージを表示しているはずなのになぜか"投稿しました!"が表示されないという現象が時々起こっていました。 これは次のようなことが原因だと推測しています。 非同期API(例: 日報のプレビューを表示する)が実行される 日報投稿ボタンを押す 投稿が成功して日報詳細ページへのリダイレクト用のレスポンスが返される SetCookiesでflashメッセージを含んだcookie sessionが返される 非同期APIのレスポンスが返る SetCookiesでflashメッセージを含まないcookie sessionが返される 日報詳細ページへのリクエストが実行される このとき送信するCookieにはflashメッセージが含まれていないの

                                                    flashメッセージが時々表示されないflakyテストを改善した話 - おもしろwebサービス開発日記チラシの裏
                                                  • RSpecで特定のテストを実行する方法

                                                    RSpec で特定のテストを実行する方法について書きます。 処理を追加したときや、落ちたテストを修正して確認したい時などに便利で使っています。 特定のテストだけを実行する方法

                                                      RSpecで特定のテストを実行する方法
                                                    • RSpecにおけるモックとスタブ - Qiita

                                                      Help us understand the problem. What is going on with this article?

                                                        RSpecにおけるモックとスタブ - Qiita
                                                      • The 5 Rules of Simple RSpec Tests

                                                        The 5 “rules” I try to follow in order to write simple RSpec tests. Let’s GO. 1. Max 2 levels of describe/context nesting Everything above 2 is a code-smell and causes alarm bells in my head to ring. The more levels of nesting you have, the harder it is to understand what a given example is doing. If you add before/after hooks to the mix, it’ll become even worse. I often reduce nesting by simply u

                                                        • Rspecの設定はrails_helper.rbにだけ書けばよい - Qiita

                                                          今までRspecを使うときは、漫然と先人のコードをコピペして、設定をrails_helper.rbに書いたりspec_helper.rbに書いたりしていましたが、「rails_helper.rbにだけ書けばよい」という結論に至りました。 次のStack Overflowの回答を参照。spec_helper.rbは、Railsを読み込まずにRspecだけで何かしらRubyのコードをテストするのに使うらしい。 ruby on rails - How is spec/rails_helper.rb different from spec/spec_helper.rb? Do I need it? - Stack Overflow Rspecが生成するrails_helper.rbのテンプレートの先頭は次のようになってます。まず、spec_helper.rbを読み込み、その後でRails(conf

                                                            Rspecの設定はrails_helper.rbにだけ書けばよい - Qiita
                                                          • RSpec から API ドキュメントを生成する「rspec-openapi」を試してみた - stmn tech blog

                                                            はじめに 本記事では RSpec の request spec から OpenAPI 仕様のドキュメントを出力する Gem、rspec-openapi を紹介します。 ドキュメンテーションツール導入にあたっての負担を少なくしたい、実装とドキュメントが乖離しないようにしたい、という場合に参考になるかもしれません。 背景 これまで弊社では、 API ドキュメントは社内 wiki に蓄積されていました。 最初はこれでも問題にならなかったのですが、機能が増えてきたことによってドキュメントの数も増えて管理が難しくなったり、 フォーマットが明確でないので書く人によってばらつきがあるという問題がちらほら出てくるようになります。 API ドキュメント標準化といえば OpenAPI が思いつくものの、記述のために DSL を理解する必要があるとか追加で何か学習が必要となると、全員に浸透させるのはハードルが高

                                                              RSpec から API ドキュメントを生成する「rspec-openapi」を試してみた - stmn tech blog
                                                            • instance_doubleとinstance_spyの使い分け

                                                              RSpecの #instance_double と #instance_spy の使い分けについて考察してみた。個人の見解です。 環境・バージョン ruby 2.7.0p0 rspec-mocks 3.9.0 #instance_double と #instance_spy の違い・共通点 Verifying Doubles #instance_double も #instance_spy も、Verifying Double と呼ばれるオブジェクトを返すという共通点がある。 これは何かと言うと、テストダブル対象のインスタンスに存在しないメソッドがスタブされた場合や、引数が異なる形式でメソッドが呼び出された場合にエラーを起こしてくれるという機能を持つオブジェクトである。 一方、#double や #spy が返すオブジェクトにはそういった機能はなく、存在しないメソッドをコールしても良いし、

                                                                instance_doubleとinstance_spyの使い分け
                                                              • Rails engine with Rspec

                                                                A Ruby on Rails Engine does not come with Rspec. The setup is simple which you can find below along with instructions for adding Factory Bot. Generate an engine Lets generate a new engine. We typically like to have an engines folder so we will generate our new engine there. rails plugin new engines/my_feature --mountable --skip-test --dummy_path=spec/dummy Include the --skip-tests option because w

                                                                  Rails engine with Rspec
                                                                • Testing anti-pattern: merged setup data - Code with Jason

                                                                  In a single test file, there’s often overlap among the setup data needed for the tests in the file. For whatever reasons, perhaps in an effort to improve performance or avoid duplication, test writers often merge the setup code and bring it to the top of the file so it’s available to all test cases. Let’s take a look at a test that contains apparently duplicative setup data. This test has two test

                                                                    Testing anti-pattern: merged setup data - Code with Jason
                                                                  • Why I don’t enjoy RSpec all that much

                                                                    One of the reasons I prefer testing with Minitest is the dissatisfaction with my everyday RSpec work. Here are things I don’t like about typical RSpec test suites and how to fix them. Please take the post with a grain of salt. If you enjoy writing RSpec this way, keep enjoying it! Some things are personal, and it’s okay. Shared examples I think the shared examples feature deserves the first spot.

                                                                      Why I don’t enjoy RSpec all that much
                                                                    • Hello from RSpec 公式ドキュメント | RSpec 公式ドキュメント

                                                                      Railsプロジェクト用のSwagger APIドキュメントを生成したいですか?APIドキュメント自動生成ツールを試してみてください。

                                                                        Hello from RSpec 公式ドキュメント | RSpec 公式ドキュメント
                                                                      • RailsでRSpecを使う際にテストデータ用のファイルを置く場合はspec/fixtures/file配下が良さそう - コード日進月歩

                                                                        CSVアップロード機能のテストなどをするときにテストデータを置きたいときのメモ 出典元 file fixture - RSpec Rails - RSpec - Relish ドキュメントいわく Rails 5 adds simple access to sample files called file fixtures.File fixtures are normal files stored in spec/fixtures/files by default. ということで spec/fixtures/file というところに配置すれば file_fixture というメソッドから読み込みが可能なため、何か必要な場合は置くことを進めている。 file_fixtureとは ActiveSupportでテスト用のメソッドが用意されており、そのうちの一つ。RSpecではその仕組みに乗ることを

                                                                          RailsでRSpecを使う際にテストデータ用のファイルを置く場合はspec/fixtures/file配下が良さそう - コード日進月歩
                                                                        • テスト中のオブジェクトに実際の動作をさせないで返り値を指定する - woshidan's loose leaf

                                                                          特定のオブジェクトにあるメソッドの中身を実行せず結果だけ返して欲しい場合 allowとreceiveを使ってスタブの指定をします。 allow(some_object).to receive(:method_name).and_return(return_value) 特定のクラスのインスタンス全てにあるメソッドの中身を実行せず結果だけ返して欲しい場合 allow_any_instance_of(ClassName).to receive(:method_name).and_return(return_value) 以下のようなコントローラのアクションに対するテストなどでテストコードではないところで生成するインスタンスに対して # コントローラのコード def index api_client = SomeApiClient.new(token) @result = api_client.

                                                                            テスト中のオブジェクトに実際の動作をさせないで返り値を指定する - woshidan's loose leaf
                                                                          • 【SmartHRのQA連載:第3弾】ATDD導入と選択 - SmartHR Tech Blog

                                                                            はじめに みなさん、はじめまして! SmartHRのQAグループ所属のmachiです。 本記事は、「SmartHRのQA(品質保証)」連載企画の第3弾です。 SmartHRのQAグループはソフトウェアテストを中心に、メンバーのスキルセットやプロダクトの状況によって、柔軟かつ多岐にわたるアプローチで品質保証活動を担っている組織です。 今回はSmartHRにおけるATDD(受け入れテスト駆動開発)の取り組みについて、実際にATDDを行なっているYさんに話を聞きました。 インタビューされる人 : Y QAグループ所属 昨年から年末調整機能の開発プロジェクトに従事 今年からATDDを導入し、テストの拡充やスピードアップをはかっている インタビューする人 : machi Yと同じくQAグループ所属 従業員名簿機能、組織図機能、従業員サーベイ機能の開発プロジェクトに従事 ATDDに興味があるものの、な

                                                                              【SmartHRのQA連載:第3弾】ATDD導入と選択 - SmartHR Tech Blog
                                                                            • Rspecの便利なオプション - Qiita

                                                                              rspecを動かす際には様々なオプションを付けて動かすことができます。例えば、モデルのspecだけ動かしたい場合は、rspec spec/models/などとすればmodelsの配下にある_spec.rbのテストが走ります。 オプションを参照したい場合は、 で参照できます。 この記事では、便利だと感じたRSpecを動かすためのオプションをピックアップして書き連ねて行こうと思います。 この記事を書こうと思った理由 最近、この本を読んで非常にまとまっていて読みやすいなと思いました。しかし、この本はまだ翻訳がなくて、認知度もあまりないのかと思いました。 なので、この本に載っていることを少しでも紹介して、本の紹介とともに、自分に対しての備忘録としてもいいんじゃないかと思い、書こうと思いました。 Effective Testing with RSpec 3 フィルタリングオプション フィルタリングオ

                                                                                Rspecの便利なオプション - Qiita
                                                                              • RSpec内でcontrollerを定義して、concernのメソッドをテストする - コード日進月歩

                                                                                俗に言うAnonymousControllerという手法です。 環境 $ bundle exec rspec --version RSpec 3.8 - rspec-core 3.8.0 - rspec-expectations 3.8.2 - rspec-mocks 3.8.0 - rspec-rails 3.8.1 - rspec-support 3.8.0 書き方 下記のようなconcernがあったとする module Targetable extend ActiveSupport::Concern def public_na_method true end end publicメソッドを試したい場合は下記のように書く(helperは環境に応じて適宜書き足してください) RSpec.describe "Targetable", type: :controller do control

                                                                                  RSpec内でcontrollerを定義して、concernのメソッドをテストする - コード日進月歩
                                                                                • RSpec: スタブのメソッドの引数にリテラル以外を渡すときは素直に be_an_instance_of を使ったほうがいい|TechRacho by BPS株式会社

                                                                                  2023.03.09 RSpec: スタブのメソッドの引数にリテラル以外を渡すときは素直に be_an_instance_of を使ったほうがいい オブジェクトの同一性にこだわらなければ、スタブのメソッドの引数には be_an_instance_of を使ったほうがいい 特にgemが返すオブジェクトとの同一性比較は無理にやらないほうがいい 実例 Herという、RESTful APIで得たリソースをRubyオブジェクトにマッピングするgemがあります。 これを使って外部APIを叩きます。 その結果としてHerがパースできないbodyが返ってきた場合、特定のSlackチャンネルに通知するという rescue_from の処理を書きます。 class ApplicationController < ActionController::Base rescue_from Her::Errors::P

                                                                                    RSpec: スタブのメソッドの引数にリテラル以外を渡すときは素直に be_an_instance_of を使ったほうがいい|TechRacho by BPS株式会社