かんがるーさんの日記

最近自分が興味をもったものを調べた時の手順等を書いています。今は Spring Boot をいじっています。

Spring Boot + npm + Geb で入力フォームを作ってテストする ( 大目次 )

GitHubhttps://github.com/ksby/ksbysample-boot-miscellaneous

  1. その1 ( 概要 )
  2. その2 ( Project の作成 )
  3. その3 ( Project の作成2 )
  4. その4 ( nodist + Node.js のインストール )
  5. その5 ( Bootstrap, AdminLTE, Font Awesome, Ionicons のインストール )
  6. その6 ( URL の決定 )
  7. その7 ( webpack + browser-sync をインストールする )
  8. その8 ( 各画面の HTML を作成する )
  9. その9 ( 各画面の HTML を作成する2 )
  10. その10 ( 各画面の HTML を作成する3 )
  11. その11 ( PostCSS で common.css を minify する + autoprefixer, stylelint を導入する )
  12. 番外編 ( IntelliJ IDEA 2017.2 の新機能 Run Dashboard を試してみる )
  13. その12 ( HTML を Thymeleaf テンプレートファイルにする + Controller クラスを作成する )
  14. その13 ( HTML を Thymeleaf テンプレートファイルにする + Controller クラスを作成する2 )
  15. その14 ( browser-sync --> Tomcat 連携してファイル変更時に自動リロードで反映される環境を構築してみる )
  16. 番外編 ( browser-sync + http-proxy-middleware で https の環境を構築する )
  17. その15 ( Flyway のインストール + Spring Security 使用時に H2 Console に接続する + IntelliJ IDEA の Database Tools で in-memory モードの H2 Database に接続する )
  18. その16 ( H2 Database に Flyway でテーブルを作成する )
  19. その17 ( 入力画面1を作成する )
  20. その18 ( 入力画面1を作成する2 )
  21. その19 ( 入力画面1を作成する3 )
  22. その20 ( 入力画面1を作成する4 )
  23. その21 ( 入力画面1を作成する5 )
  24. その22 ( 入力画面2を作成する )
  25. その23 ( 入力画面2を作成する2 )
  26. その24 ( 入力画面2を作成する3 )
  27. その25 ( 入力画面2を作成する4 )
  28. その26 ( 入力画面2を作成する5 )
  29. その27 ( 入力画面2を作成する6 )
  30. その28 ( Spring Boot を 1.5.4 → 1.5.7 へ、error-prone を 2.0.15 → 2.1.1 へバージョンアップする )
  31. 番外編 ( ModelMapper メモ書き )
  32. その29 ( Geb をインストールする )
  33. その30 ( Geb を 2.0 へバージョンアップする+Firefox headless モードを使用する )
  34. その31 ( テスト対象のブラウザに Headless Chrome と HtmlUnit を追加する+Chrome, Firefox, HtmlUnit で連続テストする gradle タスクを作成する )
  35. その32 ( npm の admin-lte package から jQuery がなくなっていたので対応する )
  36. 番外編 ( webpack で jQuery だけバンドルしないで外部ファイルを利用するには? )
  37. その33 ( ESLint を導入する )
  38. その34 ( Geb でテストを作成する )
  39. その35 ( Geb でテストを作成する2 )
  40. その36 ( Node.js を 6.11.1 → 8.9.1 へ、npm を 4.0.5 → 5.5.1 へバージョンアップする )
  41. その37 ( Jest で jQuery を利用したモジュールのテストを書く )
  42. その38 ( IntelliJ IDEA から Jest のテストを実行する )
  43. その39 ( Spring Boot を 1.5.7 → 1.5.9 へバージョンアップする )
  44. その40 ( Form.js のテストを Jest で書く )
  45. その41 ( IntelliJ IDEA で Javascript を debug する )
  46. その42 ( Form.js のテストを Jest で書く2 )
  47. その43 ( Jest で jQuery.ajax の処理のテストを書く )
  48. その44 ( Jest で setTimeout の処理のテストを書く )
  49. 番外編 ( Jest + axios + Nock, xhr-mock でテストを書いてみる )
  50. 番外編 ( MobX を使用してみる )
  51. 番外編 ( MobX を使用してみる2 )
  52. その45 ( gradle の build タスク実行時に Javascript の build+テスト を実行する )
  53. その46 ( Spring Boot を 1.5.9 → 1.5.10 へ、error-prone を 2.1.3 → 2.2.0 へ、Geb を 2.0 → 2.1 へバージョンアップする )
  54. その47 ( Node.js を 8.9.1 → 8.9.4 へ、npm を 5.5.1 → 5.6.0 へバージョンアップする )
  55. その48 ( 入力画面3を作成する )
  56. その49 ( 入力画面3を作成する2 )
  57. その50 ( 入力画面3を作成する3 )
  58. その51 ( 入力画面3を作成する4 )
  59. その52 ( 入力画面3を作成する5 )
  60. その53 ( Gradle を 3.5 → 4.6 へバージョンアップする )
  61. その54 ( webpack を 3.8.1 → 4.9.1 へバージョンアップする )
  62. その55 ( PMD を 5.8.1 → 6.4.0 へバージョンアップする )
  63. その56 ( PMD を 5.8.1 → 6.4.0 へバージョンアップする2 )
  64. その57 ( build.gradle に記述する BOM を Spring IO Platform のものから Spring Boot のものに変更する )
  65. その58 ( 確認画面を作成する )
  66. その59 ( 確認画面を作成する2 )
  67. その60 ( 確認画面を作成する3 )
  68. その61 ( 確認画面を作成する4 )
  69. その62 ( 確認画面を作成する5 )
  70. その63 ( MockMvc#perform 呼び出し時に .with(csrf()) を付けていなくてもテストが成功していた理由とは? )
  71. その64 ( 入力画面3を作成する6、@SpringBootTest のテストは Spock+Groovy より JUnit4+Groovy の方が速い? )
  72. その65 ( Gradle を 4.6 → 4.8.1 へ、Checkstyle を 8.8 → 8.11 へ、PMD を 6.4.0 → 6.5.0 へ、error-prone を 2.2.0 → 2.3.1 へバージョンアップする )
  73. その66 ( Node.js を 8.9.4 → 8.11.3 へ、npm を 5.6.0 → 6.2.0 へ+ Javascript のライブラリをバージョンアップする )
  74. その67 ( Prettier のインストール+Jest Each を試してみる )
  75. その68 ( Spring Boot を 1.5.10 → 1.5.14 へバージョンアップする )
  76. その69 ( 再び eslint-config-airbnb-base をインストールする )
  77. その70 ( 完了画面を作成する )
  78. その71 ( Geb で入力画面1~3→確認画面→完了画面を通したテストを作成する )
  79. 番外編 ( gradle-processes を利用して Geb のテスト前に Spring Boot の Web アプリを自動起動する )
  80. その72 ( Windows で本番稼働させるためのディレクトリ作成、jar ファイル配置、bat ファイル作成、サービス登録、動作確認 )
  81. 感想
  82. その73 ( Spring Boot を 1.5.14 → 2.0.4 へバージョンアップする )
  83. 番外編 ( IntelliJ IDEA に Rainbow Brackets Plugin をインストールする )
  84. その74 ( FindBugs 3.0.1 → SpotBugs 3.1.3 に切り替える )
  85. その75 ( コネクションプーリング用ライブラリを Tomcat connection pool → HikariCP に切り替える )
  86. その76 ( Spring Boot Actuator を導入する )
  87. その77 ( RequestAndResponseLogger クラスの Cookie ログは name, value だけ出力するように変更する+SESSION Cookie の secure 属性を true にするには? )
  88. その78 ( PMD を 6.5.0 → 6.6.0 へバージョンアップする+gradle-processes を導入する )

ここからフレームワーク(Spring Boot 2.1.x 等)や各種ライブラリのバージョンアップ編です。

  1. その79 ( webdriver-binaries-gradle-plugin を利用して WebDriver の個別ダウンロードを不要にする )
  2. その80 ( nodist を 0.8.8 → 0.9.1 へ、Node.js を 8.11.4 → 10.15.3 へ、npm を 6.2.0-next.1 → 6.9.0 へバージョンアップする )
  3. その81 ( eslint を 4.19.1 → 5.16.0 へ、windows-build-tools を 3.1.0 → 5.1.0 へ、jest を 23.4.1 → 24.7.1 へ、postcss-cli を 4.1.1 → 6.1.2 へバージョンアップする )
  4. その82 ( Gradle を 4.8.1 → 5.3.1 へ、Spring Boot を 2.0.4 → 2.1.4 へバージョンアップする )
  5. その83 ( Checkstyle を 8.11 → 8.19 へ、PMD を 6.6.0 → 6.13.0 へバージョンアップ+JUnit 5 の導入+ Oracle JDK 8u202 → AdoptOpenJDK 11.0.2+9 へ、error-prone を 2.3.1 → 2.3.3 へバージョンアップする)

ここからモジュールやツールの 2020/05 時点の最新バージョンアップ編です。

  1. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その84 )( WebDriver を最新バージョンに上げる )
  2. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その85 )( Node.js を 10.15.3 → 12.16.3 へ、npm を 6.9.0 → 6.14.5 へバージョンアップする )
  3. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その86 )( eslint を 5.16.0 → 6.8.0 へ、jest を 24.7.1 → 26.0.1 へバージョンアップし、windows-build-tools を 5.1.0 → 4.0.0 へバージョンダウンする )
  4. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その87 )( postcss-cli を 6.1.2 → 7.1.1 へ、prettier を 1.16.4 → 2.0.5 へ、stylelint を 9.10.1 → 13.3.3 へバージョンアップする )
  5. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その88 )( Gradle を 5.3.1 → 6.4 へバージョンアップする )
  6. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その89 )( Spring Boot を 2.1.4 → 2.2.7 へバージョンアップする )
  7. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その90 )( Checkstyle を 8.19 → 8.32 へ、SpotBugs を 1.6.9 → 4.0.2 へ、PMD を 6.13.0 → 6.23.0 へ、error-prone を 2.3.3 → 2.3.4 へバージョンアップする )
  8. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その91 )( Doma 2 を 2.28.0 → 2.34.0 へバージョンアップする+domaGen タスクを doma-codegen-plugin を利用したものに作り直す )
  9. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その92 )( http-proxy-middleware の createProxyMiddleware 関数の引数 context には Proxy させない URI を後に書く )

ここからモジュールやツールの 2021/10 時点の最新バージョンアップ編です。

  1. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その93 )( WebDriver を最新バージョンに上げる )
  2. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その94 )( Node.js を 12.16.3 → 14.18.0 へバージョンアップする )
  3. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その95 )( eslint を 6.8.0 → 7.32.0 へ、jest を 26.0.1 → 27.2.4 へバージョンアップする )
  4. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その96 )( postcss を 7.0.29 → 8.3.8 へ、postcss-cli を 7.1.1 → 9.0.1 へ、prettier を 2.0.5 → 2.4.1 へ、stylelint を 13.3.3 → 13.13.1 へバージョンアップする )
  5. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その97 )( webpack を 4.43.0 → 5.56.0 へバージョンアップする )
  6. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その98 )( Gradle を 6.4 → 6.9.1 へ、Spring Boot を 2.2.7 → 2.4.10 へ、Geb を 3.4 → 4.1 へバージョンアップする )
  7. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その99 )( Gradle を 6.9.1 → 7.2 へ、Spring Boot を 2.4.10 → 2.5.4 へ、Geb を 4.1 → 5.0 へバージョンアップする )
  8. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その100 )( Gradle を 6.9.1 → 7.2 へ、Spring Boot を 2.4.10 → 2.5.4 へ、Geb を 4.1 → 5.0 へバージョンアップする2 )
  9. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その101 )( Spring Boot を 2.5.4 → 2.5.5 へバージョンアップするが、Eclipse Adoptium OpenJDK(Eclipse Temurin)を 11.0.12+7 → 17+35 へバージョンアップするのは一旦諦める )
  10. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その102 )( SpotBugs を 4.0.2 → 4.4.1 へ、PMD を 6.23.0 → 6.39.0 へ、error-prone を 2.3.4 → 2.9.0 へバージョンアップする )
  11. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その103 )( Eclipse Adoptium OpenJDK(Eclipse Temurin)を 11.0.12+7 → 17+35 へバージョンアップする )
  12. Spring Boot + npm + Geb で入力フォームを作ってテストする ( その104 )( Checkstyle を 8.32 → 9.0.1 へバージョンアップする )