Skip to Content
テスト駆動開発を学ぶ
book

テスト駆動開発を学ぶ

by Saleem Siddiqui
May 2025
Intermediate to advanced
280 pages
3h 35m
Japanese
O'Reilly Media, Inc.
Content preview from テスト駆動開発を学ぶ

第0章:イントロダクションとセットアップ

クリーンなコードは成功に不可欠だ。

ロン・ジェフリーズ「クリーンコード:学習」2017年8月23日、ronjeffries.com

テスト駆動開発の厳しくもやりがいのある世界への旅を始める前に、動作する開発環境を確保する必要がある。 この章では、その準備とセットアップについて説明する。

開発環境をセットアップする

どの読み取り経路(図P-2参照)をたどったとしても、本書に従うにはクリーンな開発環境が必要である。本書の残りの部分は、このセクションで説明するように開発環境をセットアップしたことを前提にしている。

重要

Go、JavaScript、Pythonのどれから始めるにしても、このセクションで説明するように開発環境をセットアップする。

共通セットアップ

フォルダ構造

この本で書くすべてのソースコードのルートとなるフォルダを作成する。 そのフォルダには、今から何週間か後に、tdd-projectなど、明確でわかりやすい名前を付ける。

このフォルダーの下に、以下のようなフォルダーセットを作成する:

tdd-project
├── go
├── js
└── py

これらのフォルダは、コードを1行書く前にすべて作成しておくこと。たとえ、本書を1言語ずつ何度も読みながら進めるつもりであっても、だ。このフォルダ構造を作成すると、以下の利点がある:

  1. これにより、3つの言語のコードは分離されつつも、互いに近接した状態に保たれる。

  2. これにより、本書のほとんどのコマンドが変更なしで動作することが保証される。

    • 完全修飾ファイル/フォルダ名を扱うコマンドは例外であり、そのようなコマンドは稀である。そのひとつがこのセクションである。

  3. 継続的インテグレーションなどの高度な機能を、3つの言語すべてに簡単に導入することができる。

  4. これは、付属のコード・リポジトリ内のフォルダ構造と一致する。これは、あなたのコードが進化するときに、比較対照するのに便利である。

本書の残りの部分では、TDD Project Rootという用語は、上記のtdd-project という名前のすべてのソースコードを含むルートフォルダを指すために使用される。gojspy という名前のフォルダーは、まさにこの名前で呼ばれている。

重要

TDD Project Rootは、本書で開発されたすべてのソースコードを含むフォルダを指す名前付けである。 gojspy という名前の3つのフォルダの親である。

TDD_PROJECT_ROOT という名前の環境変数を宣言し、その値をTDD Project Rootフォルダーの完全修飾名にセットする。これを各シェルで1回ずつ(あるいは、.bashrc ファイルなどのシェル初期化スクリプトで1回ずつ)行うことで、その後のすべてのコマンドがシームレスに動作するようになる。

export TDD_PROJECT_ROOT=/fully/qualified/path/to/tdd-project

例えば、私のmacOSシステムでは、TDD_PROJECT_ROOTの完全修飾パスは/Users/saleemsiddiqui/code/github/saleem/tdd-project

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

はじめての知識グラフ構築ガイド

はじめての知識グラフ構築ガイド

Jesus Barrasa, Jim Webber
初めてのGraphQL ―Webサービスを作って学ぶ新世代API

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

Eve Porcello, Alex Banks, 尾崎 沙耶, あんどうやすし
ユーザーストーリーマッピング

ユーザーストーリーマッピング

Jeff Patton, 川口 恭伸, 長尾 高弘

Publisher Resources

ISBN: 9798341650992