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

RSpec+Capybaraの書き方などについて初心者が書いてみた。

はじめに

私がテストコードを書くときに、意識していたことをわかりやすく、まとめられたらいいなって思います。これからテストコード書く人の参考にしていただけたら、幸いです。

ユーザーの視点に立ってみる

まず、ユーザーの視点に立ってみて、ユーザーがどのようにアクセスしてくるのか、どのボタンを押すのか、その行為によって、どのような結果を帰ってきて欲しいのか、をしっかり考えます。私は、よくわからなくなることがあるので、紙に書いてわかりやすくまとめたり、口に出しながらやったりしています。ユーザーは何もデータがまだない状態でやっていることを忘れないようにしていました。

実際に書いてみたコードを読み、ユーザーの動きをシミュレートする

自分で、書いたコードが本当に考えていたユーザーの動きと一致しているのかどうかを、しっかり確認していきます。細かいところで、まちがえたりしていることがあるので、気を付けましょう。

テストを実際にやってみる

テストを実際にやってみると、自分があっていると思っていた部分が間違えていることがあるので、すべてのテストが通るまで、間違えている部分を修正しましょう!

リファクタリング

同じことを何回もする場合は、その部分を関数化したりすると読みやすさがあがります!

やっておいてよかったこと

今回は、Ruby on Railsの開発だったので、テストをするたびに、データベースの中身が増えて大変でした:sweat_drops: でも、データベースクリーナーを使って、毎回データのないクリーンな状態から始められたので、とてもよかったです。

さいごに

わたしは、師からTDD(テスト駆動開発)を教えていただきました。TDDをする前は、小さなバグやバグが起きる原因を探すのが大変でしたが、TDDを始めたことにより、バグの発見や、正しくコードが動くように書きなおすことが早くできるようになりました。ぜひ、みなさんTDDやってみてください:bangbang:

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした