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

質問編集履歴

2

回答を受けての追記

2016/05/23 06:06

投稿

poyopi
poyopi

スコア115

title CHANGED
File without changes
body CHANGED
@@ -56,4 +56,12 @@
56
56
  }
57
57
 
58
58
  ```
59
- きれいではないと思うのですが、実行したくないテストケースについて@Ignoreで明示的に行わないようにしています。JUnitの本来の使い方としては、```src/main/java```内のモジュールを切り出してテストするような用途だとは思っているのですが、書いているうちに混乱してきてしまっていて、ご助言を賜りたい次第です。情報不足でしたら、ご指摘ください。
59
+ きれいではないと思うのですが、実行したくないテストケースについて@Ignoreで明示的に行わないようにしています。JUnitの本来の使い方としては、```src/main/java```内のモジュールを切り出してテストするような用途だとは思っているのですが、書いているうちに混乱してきてしまっていて、ご助言を賜りたい次第です。情報不足でしたら、ご指摘ください。
60
+
61
+ ---
62
+ [再追記]
63
+ [argius](https://teratail.com/users/argius)さんよりご回答いただいて1ヶ月超過しているので、根治/再実装はしておりませんが該当プロジェクトの修正の方向性をまとめます。
64
+ 0. テスト内に書いているシナリオや起動クラスはメインに移動する。
65
+ 0. @Ignoreで無視している部分は、起動時のオプションなどで走らせるシナリオのメソッドを変える等で解決する
66
+
67
+ 現在はjarに固めずIDEから直接テストを起動するやり方で運用しておりとても楽ですが、構成を見直し適したものにしたいと思います。

1

現状の進捗追記

2016/05/23 06:06

投稿

poyopi
poyopi

スコア115

title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,49 @@
11
11
 
12
12
  のように構成しています。
13
13
 
14
- 動かすのに問題はないのですが、```src/main/java```を使用しないプロジェクトはおかしいということはないでしょうか。もっとこういうやり方にしたほうがよい等のご助言を賜りたく、ご意見いただけませんでしょうか。
14
+ 動かすのに問題はないのですが、```src/main/java```を使用しないプロジェクトはおかしいということはないでしょうか。もっとこういうやり方にしたほうがよい等のご助言を賜りたく、ご意見いただけませんでしょうか。
15
+
16
+ ---
17
+
18
+ [追記] なぜJUnitを使っているか:
19
+ senarioのいくつかを一度に(順繰りに)行う等するため、リスト(chromeとFireFoxのドライバ。IEのドライバはうまく動作しなかったため、除外しました)にしているコンテキストをforEachで実行させるようにしています。大まかに以下のようなコードです。
20
+
21
+ ```java
22
+ public class Invoker {
23
+ static private List<Context> contexts = new ArrayList<>();
24
+
25
+ @BeforeClass
26
+ public static void setup() throws Exception {
27
+ セットアップ用のクラスからセットアップのメソッド実行
28
+ contextsにChromeとFireFoxのドライバをadd
29
+ }
30
+
31
+ @AfterClass
32
+ public static void quit() throws Exception {
33
+ ドライバのquit
34
+ }
35
+
36
+ @Test
37
+ public void case1() {
38
+ contexts.forEach(it -> {
39
+ new シナリオのクラス().シナリオのメソッド(it);
40
+ });
41
+ contexts.forEach(it -> {
42
+ new シナリオのクラス().シナリオのメソッド(it);
43
+ });
44
+ }
45
+
46
+ @Ignore("unexecuted")
47
+ @Test
48
+ public void case1() {
49
+ contexts.forEach(it -> {
50
+ new シナリオのクラス().シナリオのメソッド(it);
51
+ });
52
+ contexts.forEach(it -> {
53
+ new シナリオのクラス().シナリオのメソッド(it);
54
+ });
55
+ }
56
+ }
57
+
58
+ ```
59
+ きれいではないと思うのですが、実行したくないテストケースについて@Ignoreで明示的に行わないようにしています。JUnitの本来の使い方としては、```src/main/java```内のモジュールを切り出してテストするような用途だとは思っているのですが、書いているうちに混乱してきてしまっていて、ご助言を賜りたい次第です。情報不足でしたら、ご指摘ください。