かんがるーさんの日記

最近自分が興味をもったものを調べた時の手順等を書いています。今は 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 を導入する )