Skip to content

Commit

Permalink
Merge pull request #257 from asciidwango/nodecli-fix-unittest
Browse files Browse the repository at this point in the history
fix(nodecli): 追記
  • Loading branch information
Suguru Inatomi authored Jul 18, 2017
2 parents 11729ea + 21d9426 commit 85cac57
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions source/use-case/nodecli/refactor-and-unittest/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,27 @@ $ npm test
1 passing (18ms)
```

## なぜユニットテストをおこなうのか

ユニットテストを実施することには多くの利点があります。
早期にバグが発見できることや、安心してリファクタリングをおこなえるようになるのはもちろんですが、
ユニットテストが可能な状態を保つこと自体に意味があります。
実際にテストをおこなわなくてもテストしやすいコードになるよう心がけることが、アプリケーションを適切にモジュール化する指針になります。

またユニットテストには生きたドキュメントとしての側面もあります。
ドキュメントはこまめにメンテナンスされないとすぐに実際のコードと齟齬が生まれてしまいますが、
ユニットテストはそのモジュールが満たすべき仕様を表すドキュメントとして機能します。

ユニットテストの記述は手間がかかるだけのようにも思えますが、
中長期的にアプリケーションをメンテナンスする場合にはかかせないものです。
そしてよいテストを書くためには、日頃からテストを書く習慣をつけておくことが重要です。

## まとめ

このユースケースの目標であるNode.jsを使ったCLIアプリケーションの作成と、ユニットテストの導入ができました。
npmを使ったパッケージ管理や外部モジュールの利用、fsモジュールを使ったファイル操作など、多くの要素が登場しました。
これらはNode.jsアプリケーション開発においてほとんどのユースケースで応用されるものなので、よく理解しておきましょう。

[moduleオブジェクト]: https://nodejs.org/api/modules.html#modules_the_module_object
[Mocha]: https://mochajs.org/
[assertモジュール]: https://nodejs.org/api/assert.html

0 comments on commit 85cac57

Please sign in to comment.