Jest再入門 - カスタムマッチャー作成編
Jest再入門シリーズの最後はカスタムマッチャーの作成にチャレンジします。 JestのExpect APIには、組み込みで多くのマッチャーが提供されていますが、これだけでは不足するケースや複雑なアサートを書かざるを得ないケースが往々にしてあります。 そんなときは、Jestのカスタムマッチャーを作成して、テストをシンプルにしていきましょう。 --> InformationカスタムマッチャーにはJestコミュニティで開発・公開されているものもあります...
記事を読むVue3コンポーネントをnpmモジュールとしてAWS CodeArtifactにデプロイする
Vue.jsのようなコンポーネントフレームワークを使ってある程度の規模の開発を進めていくと、作成するコンポーネントは膨大になってきます。 その結果、似たようなコンポーネントが乱立し、メンテナンスが難しい状況に陥るのはよくあることです。 この課題に対する有力な解決策は、再利用可能なコンポーネントをnpmモジュールとしてプライベートnpmレジストリに登録することです...
記事を読むJest再入門 - 関数・モジュールモック編
単体テストでは、テストを不安定化させる要因となる外部サービス、データベース等のステートフルなモジュールへの依存は極力避けるべきです。 これを実現するには、モックやスタブが必要になってきます。 Jestはモック機能が標準で備わっています。今回はJestのモック機能を見ていきましょう。 関数のモック化 # 基本的な使い方 # Jestが提供するモック機能の最も基本的なものです。関数や関数式をモックにします。 使い方は簡単です...
記事を読むJest再入門 - スナップショットテスト編
スナップショットテストはJestオリジナルの機能です。 公式ドキュメントによると以下の説明があります...
記事を読むJest再入門 - マッチャー編
Jestはオールインワンのテストフレームワークです。 テストランナーだけでなく、各種マッチャーもJest内でExpect APIとして提供されています。 利用方法はJasmineとほとんど同じで、こちらの利用経験があれば戸惑うことはないはずです。 ここでは、よく利用するものについて筆者の独断でピックアップして、カテゴリ別にまとめます。 全てのマッチャーは以下公式ドキュメントを参照してください...
記事を読むJest再入門 - 導入編
JestはMeta(旧Facebook)社によって開発されたJavaScript向けのテストフレームワークです[1]。 Jestは、テストランナーからマッチャー、カバレッジ等のテストに必要な一連の機能が備わっています。また、それらのセットアップが非常に簡単であることから、現在のJavaScriptで最も多く利用されているテストフレームワークです...
記事を読むCypress Component TestingでVueコンポーネントの単体テストをする
E2Eテストのフレームワークとして有名なCypressですが、コンポーネントテスト(Component Testing)機能もあります。 このコンポーネントテストは2021-04-06にアルファ版として導入されていましたが、2022-06-01のCypress v10のリリースでベータ版に昇格しました...
記事を読むAmazon ECRのライフサイクルポリシーで開発環境向けのイメージのみ削除する
つい先日、EKSを利用している社内システムで、とあるPodが起動できない障害がありました。 単純な原因でしたが、恥ずかしながらECRのライフサイクルポリシーに関して理解できていなかったので、ここでは自戒の念を込めて投稿します。 原因 - ライフサイクルポリシー # 問題のPodの状態を探ってみると、PodからコンテナイメージのPullに失敗しているようでした。 さらに失敗原因を調べてるみると、コンテナレジストリ(ECR)に対象のイメージが存在していませんでした...
記事を読むSealedSecretsでKubernetesコンテナのシークレット情報をGit管理する
GitOpsが普及し、アプリケーションのソースコードだけでなく、インフラを含めた全ての構成情報をGitで管理して、ランタイム環境と同期を取ることが一般的になってきました。 そんなときに常に悩みの種となるのはシークレット情報です。 一般的にプロジェクトの資材にはデータベースのパスワードやAPIトークン、各種証明書等、Git管理に適さないものを含みます...
記事を読むTelepresence - EKSのワークロードをローカル環境でデバッグする
クラウド環境で動作しているアプリケーションのデバッグはどうしていますか? ローカル環境であれば、ローカルプロセスで起動したアプリに対してお気に入りのIDEで簡単にデバッグできますが、クラウド環境の場合はそうはいきません。 デバッグ用のコードを埋め込んでデプロイして、原因が分かったらコードを修正して、再びデプロイして。。...
記事を読む