最近のテスト自動化環境について調査。(画面テスト編) ■単体テスト 単体テストを導入する意味: ①変更を加えた際に、テストコードがあると比較的安全に編集ができる。 ②品質を常に高めていくようにテストコードを記載していくと最後に品質を担保するより作りこめる。 xUnitのようにテストケースを記述できるJavaScriptテストフレームワークを紹介する。 Jasmine (Framework / Assertion / Spy and Mock) http://jasmine.github.io/ http://qiita.com/opengl-8080/items/cf3acafda9756f4b04c9 JavaScriptで簡潔に単体テストを記述する事ができる。 特徴:Spy, Mockも作れる。 Test Runnerである Karma も一緒に使いたい。 http://qiita.c
追記 注意 サンプルコードなので省いていますがコードではawaitとしてPromiseのコールバックを隠ぺいしています。 実際にはPromiseがresolveではなくrejectを返すこともあるので、実際のコードではtry-catchを使ってちゃんとエラーを捕捉しましょう。
追記(2015/10/16) コメント欄にて @kawazさんにご指摘いただいたpackage.json内のscriptsにおける依存パッケージのコマンド呼び出しを修正しました。 追記(2015/10/10) reduxにdoc追加のpull requestを送ったところ、mergeされて その後 applyMiddleware()を使う方法のほうが良いってことでtweakされてます。 applyMiddlewareを使う方法はこちら es6いいですよね。最近reduxを使っており、その関係でes6でのテストコードの書き方も含めざっと調べたいと思ったのでまとめます。 テスト環境のセットアップ アサーションには、power-assertを使いたいと思います。テストランナーはpower-assert公式でも使っているmochaで。 npmを使ってインストールしていきます。 espower-ba
こんにちはDMM.comラボCTO室の加嵜です。 記念すべきDMMエンジニアブログの第1回目ということで、今回は、mochaというJavaScriptのテスティングフレームワークと、mocha-phantomjsを使って、クライアントサイドのJavaScriptテストの自動化を紹介します。 mochaでテスト駆動開発 まず、mochaを使ってクライアントサイトJavaScriptの簡単なテスト駆動開発を実践してみます。 今回使用するのは、mocha本体と、mochaでアサーションを記述するためのchaiというライブラリです。 mocha http://mochajs.org/ chai http://chaijs.com/ 事前準備 事前準備として、htmlで読み込むmocha.js, mocha.css, chai.jsファイルを入手します。npm, bower等を使って自動でダウンロー
はじめに JavaScript Codeのうち、UIに関係無いような処理だけでも、Build時に試験できないかと思い、簡単な実装を試してみました。 環境 $ gradle -version ------------------------------------------------------------ Gradle 2.2.1 ------------------------------------------------------------ Build time: 2014-11-24 09:45:35 UTC Build number: none Revision: 6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a Groovy: 2.3.6 Ant: Apache Ant(TM) version 1.9.3 compiled on Dece
先日、JavaScript用E2EテストツールWebdriverIOの新バージョンがリリースされました! webdriver.io WebdriverIO E2Eテスト用WebDriverのラッパーです 僕は↓の記事で知りました motemen.hatenablog.com Protractorとかと比べて比較的シンプルだった印象だが今回は……??? 新機能 今回のバージョンの目玉機能はこちら テストランナー wdio yieldでテストが書ける テストランナー wdio WebDriverIO の略ですね karmaと同じく、wdiio.conf.jsでブラウザ、フレームワーク等を指定する感じです wdio.conf.jsにSauce Labs, Browserstackのアクセスキーを書くことでこれらのサービスを簡単に使えるみたいです あとmochaのオプションも埋め込める(mocha
Pop-up JavaScript challenges in your browser Try thesedemos: Try a single challenge Try a series of challenges Challenger is a drop-in JavaScript library that adds interactive programming challenges to any page. Challenges are flexible and expressive, and are super simple to write. A challenge has requirements based on code structure and program output, and gives users a code editor to experiment
美雲このはとは? 座敷童子一族の末裔として生まれ、栃木の由緒正しい某神社で暮らしていたんだけど、昔からのしきたりで一人前の座敷童子になるため東京で修行を開始! 紆余曲折あって、ConoHaの応援団長に就任することになりConoHaを使っているみんなを応援するとともに、このはも一人前の座敷童子ではなく、「神様」になるために日々頑張っているよ! プロフィール 名前:美雲 このは (みくも このは) 年齢:年齢という概念はないが、人間でいうと13歳くらい? 身長:150cm+α 体重:ひみつ 長所:勉強熱心・わりと機転がきく 短所:いじわると勘違いされる振る舞いをしがち 好きなこと:アニメを見たりゲームしながらのごろごろ
ReactJs has attained lot of momentum since its initial release in 2013, and became the best JavaScript library for developing rich UI interface. React also popularized different concepts like Virtual DOM, Uni-directional data flow and Componentization in the front-end community. As of today, React has more than 20,000 stars in Github repo, and actively maintained by the Facebook team. Update Feb 9
概要 Nightmare segment.io社の「俺が考えた最強のe2e API」を備えたphantom.jsラッパー。スクレイパーにも使える。 casper.jsみたいなもん。試してみた。 インストール お使いのプロジェクトで npm install nightmare してください URLを開く Nightmare = require 'nightmare' new Nightmare() .goto 'http://localhost:3000' .evaluate (-> location.href), (url) -> console.log url .run() .evalueate は第一引数関数でクライアントでevalした結果を、第二引数のコールバックとしてもらってくる。 mochaのテストならこんな感じ test/nightmare_example.coffee Nig
##What is Preceptor? Today, there are a lot of testing frameworks out there, many of which are optimized for testing specific areas. A couple of these frameworks are: Mocha - The most popular unit-testing tool (according to NPM downloads), testing each individual unit/component of a system in isolation. Cucumber - A high-level acceptance testing tool that tests features through scenarios, giving p
書かないと怒られるし、書きたいとは思っているが、書くまでの敷居がやたらと高くなってしまった気がしている人へ。 最小のテスト 本質的にテストを書くのにフレームワークはいらない。 assertion だけあればいい。 isomorphic にしたいなら、 node の assert モジュールすら使わず console.assert だけで書ける。 // assert function assert(actual, expected) { console.log('.'); console.assert(actual === expected, '\nact: ' + actual + '\nexp: ' + expected); } function TestSum() { assert(1+2, 3); } // exec TestSum(); あとは普通にこのスクリプトを node/io
こんにちは。 アメーバピグでNode.jsを使って開発をしている中村と申します。 平日はエンジニア、土日は主夫として働いています。 さて、早速ですが、この記事ではESLintを使って、JavaScriptのソースコードのバグを発見する手順をご紹介したいと思います。 ESLintとは ESLintはNicholas C. Zakas氏が中心となって開発しているJavaScriptのLintツールです。 JavaScriptのLintツールといえば、最近ではJSHintが定番だと思います。 ESLintはJSHint同等の機能を持つ他、解析ルールが完全にプラガブルになっており、独自ルールを自由に追加できるという特徴があります。 例えば、JSHintでいうところの、strict(strict modeで実行されるかをチェック)というオプションは下記のURLのように個別のルールとして実装されていま
こんにちは。kintone開発チームの天野 (@ama_ch) です。 最近はJavaScriptのテストツールが著しく進歩し、日々新しいツールが登場しています。kintoneの開発もこれらのツールによって支えられています。 kintone開発チームでは、昨年末頃からテスト環境の改善に取り組み、モダンなツールセットに乗り換えました。今回は、現在のkintoneのJSユニットテスト環境について紹介します。 kintoneとJSユニットテスト 数年前からユニットテストと自動化の仕組みはあったのですが、ごく一部のユーティリティ関数に書かれているのみで、普段の開発には活用されていませんでした。 ここ1,2年ほどで テストスケルトンを生成するジェネレータスクリプトを作る テストの書き方をまとめたドキュメントを用意する MTGで「ユニットテストを書かなくていいのは小学生まで」などと煽る コードレビュー
CoverallsというGitHubのプロジェクトのテストカバレッジを記録するためのサービスがあって、クライアントサイドのJavaScriptのテストでもできそうだったんでやってみた。 最近のJavaScriptのカバレッジツールはBlanket.jsがいけてるらしいんだけど、これを使ってクライアントサイドJavaScriptのカバレッジをCoverallsに投げるの若干めんどそうだったんで、ponchoっていうラッパーを使ってみた。 ponchoはMocha、PhantomJS、Blanket.jsをうまいことつないでくれるやつで、普通にMochaでテスト書いてるプロジェクトだったらすごく簡単に設定できる。Mocha限定になっちゃうけど。 すでにMochaでテストが書かれてて、test/index.htmlとかでテスト実行できる(ブラウザで開いてMochaのテストが走る)とすると、まず、
Knockout + ContainerJS + Require.js で テスタブル にToDoリストを作るチュートリアルです。 ポイント MVVMアーキテクチャでテスタブルに MVVMアーキテクチャを採用し、View(HTML/CSS)とViewModel,Modelを分離。 ViewModel、Modelは HTMLに非依存となるため、単体テストが可能になります。 オブジェクトの生成と依存関係を、DIコンテナで一元管理 DIコンテナを利用して、ViewModel、Modelの生成と関連付けを自動化。 コンポーネント間の結合を疎にでき、テスト時のモックへの差し替えも簡単にできるようになります。 JavaScriptソースはクラスごとに分割管理 1ファイル200行超えたらメンテナンスとか無理ですよね! ということで、ソースファイルはクラスごとに分割管理します。 ソース間の依存関係解決と読
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く