JUnit5なテスト実行時に環境変数を設定(クリア)できる、拡張のGitHub - junit-pioneer/junit-pioneer: JUnit 5 Extension Packを試してみました。 テスト実行時に環境変数を設定する 環境変数の設定は@SetEnvironmentVariableアノテーションで行います。 …
Vue.jsのバージョン3では、v-modelの仕様が結構変わっているのでそれのメモ。 サンプルコード シンプルなパターン modelValueプロパティを使った値の受け渡しになっていて、値の変更は、update:modelValueイベントを発火することで親コンポーネントに通知で…
KotestのSpring拡張を使う方法になります。 KotestのSpring拡張をdependenciesに追加 io.kotest:kotest-runner-junit5-jvmだけではなく、Spring拡張のio.kotest.extensions:kotest-extensions-springを追加します。 Mockkを使うのに便利なcom.ninja-squad:sp…
KotestでTestcontainersを簡単に使う方法になります。 KotestのTestcontainers拡張を追加 KotestにはTestcontainers用の拡張ライブラリが用意されているので、それを依存に追加します。 build.gradleの場合 testImplementation 'io.kotest.extensions:kotest…
IntelliJ IDEAのCloud CodeプラグインのSkaffold機能を試してみたいと思います。 準備 Cloud Code - IntelliJ IDEs Plugin | Marketplaceをお使いのIntelliJ IDEAにインストールします。 Supported Productsに、Communityの記載があるのでUltimate以外でも使…
Skaffoldで起動したSpring BootをIntelliJ IDEAでデバッグする方法を調べてみました。1 デバッグモードでアプリケーションをデプロイする skaffold debugコマンドを使用して、アプリケーションをデプロイします。 debugコマンドを使ってデプロイすることで、…
WireMock clientのKotlin DSLを作ってみたお話です。 導入 Maven <dependency> <groupId>io.github.siosio</groupId> <artifactId>wiremockk</artifactId> <version>1.0.0</version> </dependency> Gradle implementation 'io.github.siosio:wiremockk:1.0.0' 使い方 Stubの登録 WireMockに追加された拡張関数のregisterを使ってStubを登録できるように…
お仕事でDenoを使う機会があったので、WebStormで環境構築や実行&デバッグできるか試してみました。 使用したバージョン Deno $ deno --version deno 1.14.1 (release, x86_64-unknown-linux-gnu) v8 9.4.146.15 typescript 4.4.2 WebStorm WebStorm 2021.3 …
やりたいこと 単一のWebFluxのアプリケーションで、Spring Data R2DBCを使って複数のデータベースに接続してSQLを実行したい。 環境準備 データベース 準備が簡単なので、Docker Composeを使ってデータベースを2つ起動しています。 version: '3.7' services:…
Spring Boot + MVCでkotlinx.serializationを使ってリクエスト・レスポンスのシリアライズとデシリアライズを試してみました。 使用バージョンなど ↓のバージョンを使って試してみました。 Spring Bootは、2.5.4 kotlinx.serialization build.gradle.ktsはこ…
Dartの拡張関数とは Kotlinと同じような感じで、既存のクラスに対して関数追加できちゃう感じですね。 ドキュメントはこちら→(Extension methods | Dart) 構文 extension onを使って拡張したい型に対して、拡張関数を定義してあげます。 extensionとonの間に…
Elasticsearchで条件にマッチしたワードをハイライト表示したいなんてことありますよね。 これを実現するために、条件にマッチした部分を検索結果から取得する方法になります。 準備 インデックス内容 フィールドをひとつだけ持つインデックスを作成して確認…
kotlinx.serialization を使って、JSONのシリアライズとデシリアライズを試してみたよ。 デシリアライズ&シリアライズ JSONに対応するdata classを作成する JSONに対応するdata classには、@Serializableを設定してあげます。ネストオブジェクトに対応するク…
現時点ではBeta版のIntelliJ IDEAの2021.1からGitのコミットメッセージテンプレートに対応してくれたのが便利ですね。 これを使うことでサードパーティ製のプラグインなど入れなくても、テンプレートを元にメッセージのプレフィックス的なもの入れたりするの…
Testcontainersを使ったテストは、コンテナの起動が毎回行われるのでどうしてもslow testになってしまいます。 そこで、一度あげたコンテナを使い回すことで2回目以降のテスト実行を高速化してみようと思います。 コンテナを使い回す設定を追加 コンテナを使…
TestcontainersのElasticsearchコンテナ起動時にテストで必要となるプラグインをインストールする方法を調べてみました。 サンプルコード ElasticsearchContainerの親クラスのGenericContainerが、docker-java APIのCreateContainerCmdに対してなにか処理を…
Spring Cloud Contractを試してみた - しおしおの続きで、Producer側で生成したstubsをサーバとして起動してエンドポイントを叩いて結果が取得できるか試してみました。 Spring Cloud Contractを適用したプロジェクトの作成 新規でプロジェクトを作るのは大…
single-spa | single-spaなるマイクロフロントエンドさくっと作れそうなフレームワークを試してみました。 準備 single-spa はプロジェクト作成用などのcliを用意してくれているようなので、まずはそれをインストールします。 npm install --global create-s…
Testcontainersのコンテナを複数テストクラスで共有して使い回す方法になります。 コンテナを使い回すことで、テストクラスごとにコンテナが起動されテストの実行がめちゃ遅くなってしまう問題を解消することが期待できます。 コンテナをマニュアル起動する…
IntelliJ IDEAのDatabase Tools and SQLプラグインの検索結果テーブルからGitHub - Ninja-Squad/DbSetup: An API for populating a database in unit testsのKotlin DSL用のデータセットアップコードを生成してみました。 既存のデータベースからデータセッ…
Spring Boot Config Data Migration Guide · spring-projects/spring-boot Wiki · GitHubにまとまっていますが、2.4.0からConfigファイル周りの設定値や読み込み順などが変わっているようです。 2.4.0より前のバージョン こんな感じにspring.profilesでプロ…
IntelliJ IDEAのバージョン 2020.3 EAPの以下のビルドバージョン(これより前のビルドからこの問題が発生しています) 再現コード pom.xml <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency> </dependencies> コード public class Main { public static vo…
Spring Cloud Contractとは Spring Cloud Contractは、Consumer-Driven Contract testing1を実現するためのフレームワークです。 お試し構成 Producerをserver-serviceとして、Consumerをclient-serviceとして構築しています。 Producer(server-service) bui…
Spring Boot 2.3からのCloud Native Buildpacksを試してみました。 プロジェクトの作成 Spring Initializrを使って、Spring Bootのバージョンを2.3以降にしてプロジェクトを生成します。 ※お試しプロジェクトでは、Dependenciesに Spring Web と Spring Boot…
IntelliJ IDEA用のElasticsearchプラグインが最近登場したらしいのでお試ししてみたよ。 使ったバージョン IntelliJ IDEA 2020.2 BETA Elasticsearch plugin 0.1.7 インストール Elasticsearchプラグインの以下ページやIntelliJのplugin settings画面からイ…
doma-spring-boot-starterの1.4.0で簡単にCriteria APIが使えるようになったので早速つかってみました。 build.gradle build.gradleに必要なライブラリを追加します。 domaの2.30.0からcoreとprocessorが分離されてたのも把握できてよかったです。 implement…
Spring BootのテストでTestcontainersを使って、データベースをコンテナとして起動してテストを実行してみる感じです。 これを使うことで、開発で使っているデータベースを汚染せずに簡単にデータベースまで通しのテストができそうな気がしています。 Testco…
このメソッドのこの引数は自動的にHTMLやSQLとして認識させたいなーって思うことがあったりしますよね。 それを、自作のプラグインで自動的に設定してあげる手順的なやつです。 プラグインの設定手順 plugin.xmlの定義 org.intellij.intelliLang の拡張ポイ…
やりたいこと VueRouterでroute変更時に、前のページで投げられていたリクエストを一括でキャンセルしたい。 これが出来ると、遷移前のページで大量にリクエストが投げられていた場合、遷移後のページのcreatedで実行するリクエストがすぐに実行出来るように…
Gradle Dependencies Helper - Plugins | JetBrainsのKotlin DSL対応したよ。 これで、今までGroovy DSLでしか出来ていなかったArtifactやVersion番号の候補表示がKotlin DSLでも出来るようになるよ。 こんな感じのことができるよ。 ※2020.1 (eap)の対応とし…