自分の所有物ではないものをモックしないでください:サードパーティ依存関係をテストするより良い方法

2025-06-18
自分の所有物ではないものをモックしないでください:サードパーティ依存関係をテストするより良い方法

この記事では、ユニットテストにおける一般的な問題であるサードパーティ依存関係の処理について説明します。Dockerリポジトリクライアントを例として、HTTPクライアントなどのサードパーティ依存関係を直接モックすることの欠点を示しています。テストが複雑になり、壊れやすく、理解しにくくなるという問題です。提案する解決策は、ビジネスロジックと外部依存関係を分離するための薄い抽象化レイヤーを導入することであり、これによりテストが簡素化され、コードの可読性と保守性が向上します。このアプローチは、よりクリーンで簡潔なテストにつながるだけでなく、ビジネスロジック自体の可読性と保守性も向上させます。例外を認めた上で、著者は、この原則がほとんどの場合、よりエレガントで保守しやすいテストを作成するのに役立つと結論付けています。

続きを読む

デザインのプレッシャー:あなたのコードを形作る見えない手

2025-05-25
デザインのプレッシャー:あなたのコードを形作る見えない手

コードに何かがおかしいと感じたことはありますか?しかし、どこがおかしいのか特定できないでいる。Hynek SchlawackのPyCon US 2025での講演は、「デザインのプレッシャー」という、あなたのアーキテクチャを形作る見えない力を探求します。彼は、カップリングの種類、ソフトウェアデザインにおける魅力的な落とし穴、型主導のデザインなどのトピックを掘り下げ、データマッピングやタイプステートパターンにおけるトレードオフを強調します。講演では、ORMや非同期プリミティブがコードの複雑性に与える影響についても批判的に検討しています。

続きを読む