teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

説明文の修正

2020/05/26 09:20

投稿

napoano365
napoano365

スコア28

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,5 @@
1
1
  #ご意見いただきたいこと
2
- Railsアプリの統合テストを書いていくにあたり、Gherkin記法で(日本語ベースで)Turnipでやろう、というがあるのですが、
2
+ Railsアプリの統合テストを書いていくにあたり、Capybaraのコードだけでやるか、Gherkin記法で(日本語ベースで)Turnipでやるか、という選択肢があるのですが、Gherkin記法については以下のような懸念点があり、、、、経験有無問わず、エンジニアの皆さまだとどう感じるか、考えるか、ご意見頂けないでしょうか。
3
- 私はそのメリットがあまり腑に落ちておらず、、、、経験有無問わず、エンジニアの皆さまに、広くご意見いただければと考えています。
4
3
 
5
4
  #Gherkin記法とは
6
5
  > GherkinとはCucumberやTurnipで採用されているテスト記述言語フォーマットのこと。
@@ -11,17 +10,19 @@
11
10
  「Gherkin記法を使うと、テストで何をしているかわかりやすい」の前提には、開発メンバーが必要十分な日本語表現で、テスト内容を描き表せること、があると思っています。
12
11
 
13
12
  よって、テストを書く人の日本語文章が「主観的な書き方」や「言葉足らずな書き方」になっている場合は、
14
- 結局何をやっているかわからず、テストのロジックを別ファイルに見にいく必要があり、コードが分かれているだけメンテナンスコストが増えるのではないかと感じたのですが、そのようなことはあまり気にしなくて良いのでしょうか?
13
+ 結局何をやっているかわからず、テストのロジックを別ファイルに見にいく必要があり、コードが分かれているだけメンテナンスコストが増えるのではないかと感じたのですが、そのようなことはあまり気にしなくて良いのでしょうか?Capybaraだけでも同じでしょうか?
15
14
 
16
15
  # 疑問その2
17
- 一度書いたテストコードを、読み直す機会はそれほどあるか?
16
+ 一度書いたテストコードを、日本語だけで、さらさら読み直す機会はどれくらいあるか?
18
- もし読み直すとしたら、「テストが壊れて内容を修正する必要があるとき」や「新しい機能が増えてテストを追記する必要があるとき」であるはずだと考えています。
17
+ もし読み直すとしたら、「テストが壊れて内容を修正する必要があるとき」や「新しい機能が増えてテストを追記する必要があるとき」であるはずです。そういう場合に細かなロジックは確認せずに、featureファイルの仕様をさらっと日本語で見るけで、テストコードの改修を進めていく・・・こは、あまり望ましくないのでは?懸念しています。
19
- そういう場合に細かなロジックは全く確認せずに、featureファイルの仕様だけをさらっと日本語で見て、理解して(した気になって)、テストコードの改修をすることは、あまり望ましくないかと考えています。
20
18
 
21
- 既存のコードは日本語でさらっと理解して、どんどんテストを追記していく、、、のような運用ると、stepsに重複が増え非DRY化し、メンテナンスストが増えるのでは危惧しているのですが、のようなことはあまり問題にならないのでょうか?
19
+ また、「既存のコードは日本語でさらっと理解するだけでよい」「どんどんテストを追記していくスタイル」のような運用もできくはなさそうですが、stepsに重複が増え非DRY化したり結局ード量が増えてもっさりしてそうな気もています。
20
+ また、1回しか登場しないstepでも必ず別ファイルに書き出し(シングルレベルの抽象化)が必要なので、
21
+ いざ改修が必要でコードを読む際に、テストコードを行ったり来たりして確認する必要があり、メンテナンスコストが増えるのでは危惧しています。
22
22
 
23
- # 疑問その3
23
+ #その他所感
24
- ここは好みにも寄ると思うのですが、そもそもGherkin記法みやすい、とあま思えないのですがエンジニアの皆様はどいう印象の方多いのでしょうか?
24
+ 好みにも寄ると思うのですが、私はGherkin記法よりCapybaraだけRspecうが
25
+ 構造がはっきりしていてわかりやすいように感じるのですが皆様はどういう印象でしょうか?
25
26
 
26
27
  ■Rspecの場合、「beforeでセットアップをしているな」だったり「itの中に試験内容が書かれているな」などパッと見で推測して、
27
28
  必要な箇所をさっと見つけられそうな気がします。
@@ -35,7 +36,9 @@
35
36
  ```
36
37
 
37
38
  ■一方でGherkinだと、日本語の文章を1字1句丁寧に読んでいかなければ、どこに何が書かれているかわからず、
38
- いざコードをメンテナンスするタイミングで、修正が必要箇所を探し出しにくいように感じました。このあたりは"慣れ"の問題なのでしょうか?
39
+ いざコードをメンテナンスするタイミングで、修正が必要箇所を探し出しにくいように感じました。
40
+ このあたりは"慣れ"の問題なのでしょうかね?(・・)?
41
+
39
42
  ```以下、引用元サイトより
40
43
  シナリオ: 投稿・サムネイル情報がメタで提供されている
41
44
  SNSにシェアされた投稿を見て、クリックしたくなるように視覚的に誘導したい
@@ -63,8 +66,7 @@
63
66
  | twitterMeta(サイトオーナーのtwitterユーザー名) |
64
67
  ```
65
68
 
66
- ご意見の程、よろしくお願いいたします。m(>< )m
69
+ ご意見の程、よろしくお願いいたします。
67
70
 
68
-
69
71
  (引用元サイト)
70
72
  https://sakanasoft.net/gherkin-is-valuable-test-practice/#RSpec

2

誤字修正

2020/05/26 09:20

投稿

napoano365
napoano365

スコア28

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  #ご意見いただきたいこと
2
2
  Railsアプリの統合テストを書いていくにあたり、Gherkin記法で(日本語ベースで)Turnipでやろう、という声があるのですが、
3
- 私はそのメリットがあまり腑に落ちておらず、「詳しい方」や「すでに現場で採用されている方」に以下の疑問についてご意見いただければと考えています。
3
+ 私はそのメリットがあまり腑に落ちておらず、、、、経験有無わず、エンジニアの皆さま、広くご意見いただければと考えています。
4
4
 
5
5
  #Gherkin記法とは
6
6
  > GherkinとはCucumberやTurnipで採用されているテスト記述言語フォーマットのこと。

1

誤字修正しました。

2020/05/23 16:42

投稿

napoano365
napoano365

スコア28

title CHANGED
File without changes
body CHANGED
@@ -18,13 +18,13 @@
18
18
  もし読み直すとしたら、「テストが壊れて内容を修正する必要があるとき」や「新しい機能が増えてテストを追記する必要があるとき」であるはずだと考えています。
19
19
  そういう場合に細かなロジックは全く確認せずに、featureファイルの仕様だけをさらっと日本語で見て、理解して(した気になって)、テストコードの改修をすることは、あまり望ましくないかと考えています。
20
20
 
21
- 既存のコードは日本語でさらっと理解して、どんどんテストを追記していく、、、のような運用になると、stepsに重複が増え非DRY化したり、メンテナンスコストが増えたりするのでは危惧しているのですが、そのようなことはあまり問題にならないのでしょうか?
21
+ 既存のコードは日本語でさらっと理解して、どんどんテストを追記していく、、、のような運用になると、stepsに重複が増え非DRY化し、メンテナンスコストが増えるのでは危惧しているのですが、そのようなことはあまり問題にならないのでしょうか?
22
22
 
23
23
  # 疑問その3
24
24
  ここは好みにも寄ると思うのですが、そもそもGherkin記法がよみやすい、とあまり思えないのですが、世の中のエンジニアの皆様はどういう印象の方が多いのでしょうか?
25
25
 
26
26
  ■Rspecの場合、「beforeでセットアップをしているな」だったり「itの中に試験内容が書かれているな」などパッと見で推測して、
27
- 必要な箇所をさっと見つけらそうな気がします。
27
+ 必要な箇所をさっと見つけらそうな気がします。
28
28
  ```以下、引用元サイトよりサンプルコード
29
29
  RSpec.describe "投稿", type: :request do
30
30
  describe "一覧画面を開く" do
@@ -34,8 +34,8 @@
34
34
  end
35
35
  ```
36
36
 
37
- ■一方でGherkinだと、日本語の文章を1字1句丁寧に読んでいかなければ、どこに何が書かれているかわからないので
37
+ ■一方でGherkinだと、日本語の文章を1字1句丁寧に読んでいかなければ、どこに何が書かれているかわから
38
- いざコードをメンテナンスするタイングで確認が必要箇所を探し出しにくいように感じました。このあたりは"慣れ"の問題なのでしょうか?
38
+ いざコードをメンテナンスするタイングで、修正が必要箇所を探し出しにくいように感じました。このあたりは"慣れ"の問題なのでしょうか?
39
39
  ```以下、引用元サイトより
40
40
  シナリオ: 投稿・サムネイル情報がメタで提供されている
41
41
  SNSにシェアされた投稿を見て、クリックしたくなるように視覚的に誘導したい