Help us understand the problem. What is going on with this article?
http://qiita.com/drafts/b60766d9017a1eaeada0/edit (Testing AngularJS apps with Protractor の訳) もし、AngularJSアプリケーションを開発するならば、テストにはProtractorを使いなさい!なぜかって? ProtractorはAngularJSアプリケーションのためのend-to-endテストフレームワークで、強力なツールや技術(NodeJSやSeleniumやwebDriverやJasmineやCucumberそしてMochaなど)を結合するような ソリューションの結合に作用する。 AngularJSアプリケーションのテストをより簡単に作るためにSeleniumからのたくさんのカスタマイズをProtractorは持つ。 また、Protractorは、テストにたくさんの"sleeps"や"w
(2014/12/12 追記) 本稿のアップデート版みたいなのをアップしました→『【Rails】RSpecと三種の神器でらくちんWeb APIテスト - Qiita』 Railsアプリを作るときに,Web APIのテストをしようとしたら命を落としかけたのでいろいろヤバそうなところをメモっておきますφ(`д´) JSONレスポンスのテストはすべき? **Everyday Rails - RSpecによるRailsテスト入門**では,Viewのテストは取り扱っていません(理由は2章 Q&Aにて). でもWeb APIのレスポンスはどうなんだろう? ということで訳者のひとりである西脇.rbの@jnchitoさんに聞いてみたところ,次のように答えていただきました. @izumin5210 するべきかどうかはケースバイケースです・・・っていうと回答にならないので、yes/noで答えるならyesかな~
buster staticのようにコマンドで、テストやデバッグ用のWebサーバが立てられるといいなと思って書きました。このスクリプトをPYTHONPATHが通っているディレクトリに放り込んでおき、 python -m mocha_server lib/*.js test/*.js でカレントディレクトリでWebサーバを起動させます。 実行するには、python2(3は不可)とFlaskというフレームワークが必要です。 # !/usr/bin/env python # coding: utf-8 """ Mocha server usage: $ python mocha_server.py lib/*.js test/*.js or $ python -m mocha_server lib/*.js test/*.js """ PORT = 8008 import sys import o
koaでのテスト ごめんなさい、koajsに浮気しちゃいましたでKoaを紹介しましたが、相変わらずKoaといちゃいちゃしています、今回はKoaで作るアプリケーションのテスティングについてです。 Koaはgeneratorベースでアプリケーションを記述させてくれるフレームワークですが、自分はテスティングも基本的にcoを介してgeneratorベースでテストを書いてみています。coを利用する際はmocha実行時に--harmony-generatorsオプションを指定する必要があります。 実際のコードは前回と同じく以下において有ります(まだまだ網羅できていないですが...) まずはExpressからの変更の影響が一番大きいコントローラのテストです。 コントローラのテスト JSONを返却するだけのAPI用途の場合はsupertestを用いるのが楽です。その場合のテストについてはkoajs/exa
この記事は、Selenium Advent Calendar 2013の8日目の記事です。 Web+DB PRESS vol.77の特集1「スマートフォンテスト最前線」の第3章で、様々なSeleniumのDriverの紹介をしました。 4章の中でPhantomJSも取り上げることになっていたため、3章ではあえて取り扱いませんでした。 そこで、本記事では、Selenium使いのためのPhantomJS解説と銘打って、PhantomJSDriverの紹介とそのTipsを解説します。 PhantomJS とは PhantomJS は、ヘッドレスなWebKitベースのブラウザで、JavaScriptの実行も可能です。ヘッドレスなブラウザを操作するために、PhantomJSはJavaScriptのインターフェースを提供しています。またそれをラップした様々な関連ライブラリがあります。 GhostDri
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。 設定の仕方は以下
準備 上記レポジトリーをクローンしてWebStorm 8で読み込みます。 npm install と grunt setup も忘れずに。 新しめのKarmaのプラグインが入っていればIntelliJでもいける気がしますが試してないので分かりません。 またWebStormのディレクトリ管理でnode_modulesを無視設定することをおすすめします(起動時のIndex作成とコード補完の遅さが悲惨なことになるので)。 WebStormのKarmaデバッグはChrome/Firefoxのみ有効で、PhantomJSでは実行出来ないらしいです。Firefoxの方では試していませんが、Chromeでデバッグを実行するにはJetBrains IDE Supportが必要です。実行するプロファイルに事前にインストールしておきましょう。 WebStormのRun Config設定 右上のRun/Debu
mocha をブラウザで使う場合、mocha.setup() で BDD, TDD などのスタイルを指定し、それに応じて describe/it, suite/test などの関数が window に登録されます。RequireJS と一緒に使う場合、テストコードが評価される際に mocha.setup() が呼ばれていないと、describe などが定義されておらずエラーになってしまいます。 そこでまず思いつくのは require() を入れ子状に呼ぶことですが、いまいちイケていません。 require(['mocha'], function () { mocha.setup('bdd'); require(['test/foo_test'], function () { mocha.run(); }); });
WebStormだと様々な形式のNode.jsアプリが簡単にデバッグできます. 実際に画像で見てみましょう 単純なNode.jsアプリの場合 1. Javascriptを書いてブレークポイントを置く 2. 右クリック>Debug app.js 3. やったぜ Mochaのテストをデバッグしたい場合 1. mochaを入れる 上メニューFile>Settings > Node.js and NPM > 緑の+ボタン > mochaをInstall Package 2. mochaのテストを書いてブレークポイントを置く testというフォルダを作ってその中にテストJS 3. 上メニューRun>Edit Configurations 4. 左上の+ボタン>Mocha 5. Mochaの設定をしてOKで閉じる ほとんどの項目は初期のままでよい. 以下の項目は自分で指定する必要があるかも 項目名 意
単体テストの件数や可否ももちろんですが、コードのカバー率も可視化されることで、品質向上の1つの指標にもなります。 Node.jsで開発しているプロジェクトについて、こういったデータをgruntタスクで簡単に生成できるようにしましょう。 仕組みとして使うものは以下のとおりです。 grunt: JSタスクランナー mocha: JSテストフレームワーク chai: BDD/TDDアサーションライブラリ sinon: Spy,Stub,Mockライブラリ istanbul: コードカバレッジ計測ツール gruntは既に導入済みで、活用している前提とします。 JSのテストはJasmineが有名ですが、自由度の高いmocha+chai+sinonが個人的にはお気に入りなのでこちらを使います。 コードカバレッジ計測はいくつかの選択肢がありますが、メソッドや行、分岐等を計測できるistanbulを使いま
var gulp = require('gulp'); var gutil = require('gulp-util'); var webpack = require('webpack'); var WebpackDevServer = require('webpack-dev-server'); var webpackConfig = require('./webpack.config.js'); var open = require('gulp-open'); var mocha = require('gulp-mocha'); // default task is browser test gulp.task('default', ['browser-test']); // browser test gulp.task('browser-test', function (callba
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く