• システム開発に関わる内容をざっくりと書いていく

.net C#

【C#】WebApplicationFactoryでケースごとに個別にモックを適用した結合テストの実装

C# の xUnit を使用し、WebApplicationFactory を活用して 個別ケースごとに異なるモックを適用 する結合テストの実装方法を解説。 本記事のポイント WebApplicationFactory ...

続きを読む

【C#】テストフレームワークを使った結合テストと単体テストの違い

C#のテストフレームワーク xUnit を使用して、 の違いを実装ベースで解説 今回の方針: 結合テスト(Integration Test)とは? 結合テストは、実際の環境(DBや外部API)と統合した状態で動作を確認す ...

続きを読む

金額計算にdoubleを使ってはいけない理由

金額や通貨の計算でdoubleを使うのはNG。理由は、浮動小数点演算による丸め誤差が発生するから。doubleは数値を2進数で表現するため、一部の10進数(例: 0.1や0.2)を正確に表現できない。これが累積すると、金 ...

続きを読む

C# async/awaitの必要性(処理観点)

1. 非同期処理が多いバックエンドでは基本的に必要 C# のバックエンド開発では以下のような非同期処理が一般的: これらを同期処理として実行すると、スレッドがブロックされ、バックエンドのスケーラビリティが低下。一方、as ...

続きを読む

C#の”?”の使い方

C#の”?”(クエスチョンマーク)は、主にnull許容型や条件演算子に使用され、コードの安全性や可読性を向上させる。ここでは、”?”がどのように使われるかを具体例とともに解 ...

続きを読む

C#の”!”の使い方

C#の”!”(エクスクラメーション)は、コード内でさまざまな用途で使われる記号で、主に論理否定やnullチェックの意味を持つ。ここでは、”!”がどのように使われるかを具体例 ...

続きを読む

サーバーレス vs コンテナ:どう使い分けるか?

サーバーレス(AWS Lambdaなど)とコンテナ(Docker、Kubernetes)は、どちらもクラウド環境でのアプリケーション運用を効率化する技術だが、目的や用途によって使い分ける必要がある。サーバーレスとコンテナ ...

続きを読む

単体テストを実装する前提の実装

テスト対象のコードを分離する 単体テストを効果的に実施するためには、テスト対象のコードを他の依存関係から分離することが重要。依存関係に直接アクセスすると、テストが複雑になり、外部リソース(データベースや外部APIなど)に ...

続きを読む

.net coreアプリケーションのDockerイメージのマルチステージビルド

マルチステージビルドで下記に分けれれる 1. 基本環境の準備 (base ステージ) 2. ビルドステージ (build ステージ) 3. パブリッシュステージ (publish ステージ) 4. 実行ステージ (fin ...

続きを読む

WebApplicationFactoryを使ったASP.NET Coreのテスト

WebApplicationFactoryとは? WebApplicationFactoryは、テスト環境でアプリケーションを起動し、エンドポイントをテストできる便利なツール、WebApplicationFactoryを ...

続きを読む