Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Advent Calendarを通じて、公式ページの各種情報を参考に文章化したことと他の方々の投稿を読み進めることによって、AngularJSの基本的なところを大分理解できてきました。改めて、テストを通して開発できるAngularの良いところやUJSに沿った形の仕組みを構築でき、無理なくHTMLページをリッチにできる仕組みであることを感じてきています。 当初から、Angularのテストを手軽に行えるところが良いという理由を散々述べてきました。 今回、さらに、テストについて踏み込んだ記事として、若干Angularから離れますが、コードカバレッジの計測方法を取りまとめます。 Angularのようにテストを書き易いフレームワークを導入したとして、製造フェーズをテストファーストにして、テストコードを書いてプロダクトの品質をある程度担保できたとしても、結局、テストコードを書くのは人です。場合によって
JSのテストカバレッジの生成ツールとして、istanbulというのがあるけれど それをGruntタスクに取り込むための方法。 具体的には、mochaを使って、grunt-istanbulを使えるようにする流れ。 例は https://github.com/hiroosak/grunt-istanbul-example に記載してます。 処理の流れ カバレッジを出力するには アプリコードをカバレッジ用コードに変換する カバレッジ用のコードに対してテストを実行する カバレッジの結果を保存する カバレッジレポートを出力する それぞれで、gruntの別タスクで処理が行われる。 instrumentタスク mochaTest タスク storeCoverage タスク makeReport タスク instrument タスク カバレッジの生成タスクの名前は instrument。 設定の仕方は以下
istanbul: A Javascript code coverage tool written in JS Yet another code coverage tool for Javascript, with the following features: All-javascript instrumentation library that tracks statement, branch, and function coverage and reverse-engineers line coverage with 100% fidelity. Module loader hooks to instrument code on the fly Command line tools to run node unit tests "with coverage turned on" an
コード網羅率(コードもうらりつ、英: Code coverage、コードカバレッジ)は、ソフトウェアテストで用いられる尺度の1つである。プログラムのソースコードがテストされた割合を意味する。この場合のテストはコードを見ながら行うもので、ホワイトボックステストに分類される。 コード網羅率は体系的なソフトウェアテストのための技法として最初に生み出されたものの1つである。1963年の Communications of the ACM にある Miller と Maloney の論文に言及されているのが最初である。 コード網羅率の測定にはいくつかの手法があり、主なものとしては以下のような手法がある。 文網羅 - ソースコードの各文がテストで実行されたかどうかで判断する。 分岐網羅 - 制御構造上の分岐でそれぞれの分岐方向がテストされたかどうかで判断する。 条件網羅 - 分岐条件の各項で真と偽の両
単体テストの件数や可否ももちろんですが、コードのカバー率も可視化されることで、品質向上の1つの指標にもなります。 Node.jsで開発しているプロジェクトについて、こういったデータをgruntタスクで簡単に生成できるようにしましょう。 仕組みとして使うものは以下のとおりです。 grunt: JSタスクランナー mocha: JSテストフレームワーク chai: BDD/TDDアサーションライブラリ sinon: Spy,Stub,Mockライブラリ istanbul: コードカバレッジ計測ツール gruntは既に導入済みで、活用している前提とします。 JSのテストはJasmineが有名ですが、自由度の高いmocha+chai+sinonが個人的にはお気に入りなのでこちらを使います。 コードカバレッジ計測はいくつかの選択肢がありますが、メソッドや行、分岐等を計測できるistanbulを使いま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く