Vagrant
公式には、
Vagrant lowers development environment setup time, maximizes dev/prod parity, and makes the "works on my machine" excuse a relic of the past.
とも書いてあるし、
ソフトウェアデザインには、
Vagrantとは、Rake準拠のRuby DSLでの設定ファイルを記述し、
VirtualBox仮想マシンでの自動生成を行うオープンソースファイルのこと
vagrantを使えば、コマンドだけで仮想マシンの作成、ログインを行うことが出来るのである。
これにより、実環境に即したテストが可能となる。(ちなみに、自マシンのローカル環境は一部の外部APIを
動かすことが出来なかったりするので、実環境に即しているとは言えない)
なお、公式にも書いてあるけど、VirtualBoxが必須です。
なぜなら作成する仮想マシンはVirtualBoxを利用して動くから。
VirtualBoxとは、OSのエミュと考えて頂ければよろしい。
つまり、エミュを立ち上げることなく仮想マシンを作成し
仮想マシンにアクセスし仮想マシンのコードを修正することが可能となるわけだ。