質問編集履歴
3
説明文の修正
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
|
-
既存のコードは日本語でさらっと理解
|
19
|
+
また、「既存のコードは日本語でさらっと理解するだけでよい」「どんどんテストを追記していくスタイル」のような運用もできなくはなさそうですが、stepsに重複が増え非DRY化したり、結局コード量が増えてもっさりしてきそうな気もしています。
|
20
|
+
また、1回しか登場しないstepでも必ず別ファイルに書き出し(シングルレベルの抽象化)が必要なので、
|
21
|
+
いざ改修が必要でコードを読む際に、テストコードを行ったり来たりして確認する必要があり、メンテナンスコストが増えるのでは危惧しています。
|
22
22
|
|
23
|
-
#
|
23
|
+
#その他所感
|
24
|
-
|
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
|
-
ご意見の程、よろしくお願いいたします。
|
69
|
+
ご意見の程、よろしくお願いいたします。
|
67
70
|
|
68
|
-
|
69
71
|
(引用元サイト)
|
70
72
|
https://sakanasoft.net/gherkin-is-valuable-test-practice/#RSpec
|
2
誤字修正
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
誤字修正しました。
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にシェアされた投稿を見て、クリックしたくなるように視覚的に誘導したい
|