Specで複数ユーザーのやりとり(マルチセッション)をテストするはじめにインターンのhmryuです。今週、Misocaのインターンを卒業しました。僕は、昨年のお盆明けから約7ヶ月間Misocaでエンジニアとして働いていました。後半の4ヶ月は、発注機能の開発に関わっていました。現在の発注機能では、複数のユーザーがコメントのやりとりやファイル共有を経て、発注できるしくみになっています。Specでは、コメントや発注などを別々のsenarioで書いていましたが、それだと不必要に冗長な部分が増えてしまいコードの修正が難しくなっていました。そこで、1つのscenarioで発注機能全体をテストできるように大幅な修正を行いました。Specについては、ミニマムリリースを意識していたらコードが肥大化していた話にまとめてあります。Specそこで問題になったのは、セッションの切り替えを行う必要があるという点です。「あるユーザーがコメントした後に、その通知メールを受け取った別のユーザーがリンクを開いてコメントする」という動作では、ユーザー間でセッションが引き継がれてしまっていると、うまくテストができません。specsを参考にして以下のようなメソッドを定義しました。メソッドに、ユーザーごとの処理をブロックとして渡すことで、セッションを切り替えながらテストすることができます。Specは以下のようになりました。変えることで異なるセッションを参照するようにできます。endendまとめ実際にユーザーが使う流れをそのままscenarioに書くことで、テストがわかりやすくなり、変更も加えやすくなりました。7ヶ月と短い期間でしたが、Misocaのインターンでは、エンジニアとして様々な経験ができました。名古屋近辺の学生で、エンジニアのインターンに興味がある方はぜひMisocaにジョインしてください!おまけ:重複した処理をメソッドに切り出す各ユーザーに複数のメールが届くので、下記のようなメソッドを作っておくと便利でした。}end実際に使うときは、下記のようになります。クラウド見...2019-08-09初めてのデザイナーインターン受け入れ夏ですね。デザイナーのとりみずのです。北海道の道東を旅行で...2017-08-28💸PayPalのAPI認証キーの妥当性検証mzpです。最近、実装した機能についての話を書きます。株式会社ファントム...2016-08-26読みやすいRSpecを書くためのTipsこんにちは、黒曜(@kokuyouwind)です。弥生は第23回Quesに協賛します。引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。