目次

はじめに

サンプルのソースコードについて
動作確認環境
免責事項
表記関係について
底本について

第1章 Vue.jsのCDN版からVue CLI版へ移行

1.1 CDN版でのWebアプリから開始
1.2 Vue CLI環境を導入
1.3 Vueファイルにまとめる
1.4 fontawesomeの利用(簡易版)
1.5 公開用のトランスパイル

第2章 Vue CLIでテスト駆動開発する(TDD)

2.1 MochaとChaiによるテスト(検証)の仕組み
2.2 Vueの表示状態をテストする
2.3 リファクタリングしてファイルを分割する
2.4 javascriptファイルのみを直接にMochaでテストする
2.5 sinon.jsによるスタブをMochaから利用する

第3章 ExpressによるWebAPIサーバーをテスト駆動開発する(TDD)

3.1 ExpressでHTTPリクエスト(REST API)をMochaで検証する
3.2 ExpressでバックエンドとしてのREST APIの応答をTDDで実装する

第4章 フロントエンドVue.jsとバックエンドExpressを接続してAzureにDeployする

4.1 フロントエンドとバックエンドを組み合わせて動作検証する
4.2 AzureのWebアプリ(PaaS)を用いて公開する

付録A 詳しくて細かいこと

A.1 Vue CLIでのfontawesomeの使いかた
A.2 Vue CLIのファイル構成と表示のされ方
A.3 Vue CLIの標準のUnitTest「Mocha + Chai」とヘルパー関数
A.4 babel.config.jsとは?Mocha向けに設定するには?
A.5 Expressのhttpサーバー上でVue CLIのファイルを表示する方法

付録B ExpressフレームワークのAzure向け導入方法

B.1 Expressスケルトンを作成
B.2 Azure向け、かつMochaテスト用に再構成

付録C Azureポータルでの「Webアプリ」インスタンスの作成方法

付録D Azureポータルで「Webアプリ」へのソースファイルの紐づけ方法

付録E 参考書籍、参考サイト

あとがき

はじめに

 本書は、次の人を対象とします。

  

 ・Vue.jsは「ブラウザーでCDN版を使ったことがある」人

 ・Node.jsは「簡単なREST APIサーバーを作成したことがある」人

 ・テスト駆動開発で「レッド→グリーン→リファクタリング、のサイクルをしたことがある」人

  

 本書に記載の内容はそれぞれのフレームワークの公式ページや書籍などで参照することが可能ですが、探し出す手間や渡り歩く手間を省くことを、本書では目的とします。なお、Vue CLIを利用済みの方にはおそらく既知の内容となります。

 次のスタート地点から必要最低限だけをつまみ食いで学んで、次のゴール地点を目指します。

  

 ・スタート:「Vue.jsでもテスト駆動開発(TDD)したい!けど、Vue CLIが分からない。Babelとwebpackを知らないので手が出ない」

 ・経由:「REST APIをExpressで実装するけど、そちらもテスト駆動開発したい」

 ・ゴール:「Vue.jsで必要なBabelとwebpackは最低限の部分を使えるようになった!Vue CLIでなんとかTDD出来た!」

  

 Vue.jsは簡単に手を出せて、必要な範囲だけ学んだらすぐに「実際に作ってみる」が出来て良いですよね。ところで、Vue.jsでもテスト駆動開発をしたいと思いませんか?Vue.jsのCDN版はブラウザーで動作するので、外部ファイルのローカライズ化は困難です。なので、機能ごとにファイルに切り出して機能を検証していくことが多いテスト駆動開発(TDD)の適用は、そのままでは容易ではありません。この困難はVue CLIを利用することで乗り越えることが出来ます。Vue CLIは、「Node.js上でES2015(ES6)にて書いて、ブラウザーで表示するときだけES5に変換しましょう(トランスパイル)」というフレームワークです12

 本書では、ブラウザーだけで動作の完結するCDN版からVue CLI版に移行するときに、どのように対応付けて移行すればよいか?を最初に説明します。次にVue CLIでのテストを実行する方法を、続いてVueファイルのUIを省いてロジック部分にのみ注目することで、javascript部分だけをより高速に軽量にテストを実行する方法も説明します。サンプルプログラムとして、ToDoアプリのフロントエンドとバックエンドの双方をテスト駆動開発で作成し、Azureにて公開します。その過程で必要となる次の項目について、今回の目的の達成に必要な最低限の範囲で説明します。

 本書で解説することは以下の通りです。

  

 ・Vue CLI 3.x のvueファイルへ、HTMLとjavascript、CSSを配置する方法

 ・Vue CLI 3.x の標準のUnitTest(Mocha+Chai)3の使い方

 ・Vue CLI 3.x にて、外部javascriptファイルのみをMochaでテストする方法

  ─webpack設定の変更方法

  ─Babel設定の変更方法

 ・Vue CLI 3.x でのfontawesomeの使い方

 ・Vue CLI 3.x でのSinon.jsの使い方

 ・ExpressでのHTTPリクエストをMochaでテストする方法

 ・ローカル検証時に、ExpressサーバーとVue CLIサーバーを同時に稼働させる方法

 ・AzureのWep Appへそのまま公開出来る構成でのWebアプリ作成方法

 ・Azureポータルでの、Web Appを公開するための操作方法

  

 本書で解説しないことは次です。

  

 ・Vue.jsのデータバインディングの使い方

 ・Vue-Routerの使い方

 ・ES2015(ES6)の書き方、ES5との違い

 ・Mocha.js、Chai.js、Sinon.jsそのものの使い方

 ・テスト駆動開発とは?

 ・REST APIとは?

 ・Webアプリの設計方法そのもの

 ・Azureアカウントの取得方法

サンプルのソースコードについて

 本書でのサンプルの記載は、多くの場合はキーとなるコード部分の抜粋となります。サンプルコードの全体は以下のサポートページにて公開しています。実際に動作確認を行う際には、こちらのソースコードを利用してください。

 https://github.com/hoshimado/tdd-vuejs-book/

動作確認環境

 ・OS : Windows 10

 ・Node.js : v8.11.3 / v10.16.0

 ・fontawesome : v5.6.1

 ・express@4.17.1

 ・express-generator@4.16.1

 ・@vue/cli@3.11.0

 ・axios@0.19.0

 ・sqlite3@4.0.9

 ・mocha@6.2.0

 ・chai@4.2.0

 ・sinon@7.4.2

 ・promise-test-helper@0.2.1

 ・cross-env@5.2.1

 ・@babel/register@7.6.0

免責事項

 本章中のスクリーンショットや利用ライブラリのバージョンは、2019/12/01現在のものです。その後に変更されている場合があります。

 本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。

表記関係について

 本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。

底本について

 本書籍は、技術系同人誌即売会「技術書典」で頒布されたものを底本としています。

1. ReactやAngularも、この視点では同じ目的のフレームワークです。

2. 実際のところ、簡単な検証やお試し以外では、Vue CLIでのWebアプリケーション作成が一般的です。

3. Vue CLIでは、UnitTestのフレームワークとしてJest、もしくはMocha(+Chai)のいづれかを選択することが出来ます。本書では、より独立性の高いMochaを採用します。

試し読みはここまでです。
この続きは、製品版でお楽しみください。