You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
自作しているWeb Audio APIのライブラリ XSound.jsでKarma + Jasmineによるユニットテストを始めたので, その備忘録として記載しておきます. Karma + Jasmineによるユニットテストの環境構築は前日の記事を参考にしてください. 1. Karma設定ファイルの生成 まず. テスト対象となるディレクトリで以下のコマンドを実行します. $ karma init コマンドを実行すると, 初期化ウィザードが出力されるので, 順に入力していきます. 1 – 1. テスティングフレームワークの選択 Which testing framework do you want to use ? Press tab to list possible options. Enter to move to the next question. > jasmine 1 – 2.
先日、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
var assert = require('assert'); it('test1 strictEqual', function() { var a = 'abcde'; var b = 'abcdf'; assert.strictEqual(a, b); }); it('test1 eqeqeq', function() { var a = 'abcde'; var b = 'abcdf'; assert(a === b); }); it('test2', function() { var a = { hoge: 12 }; var b = { hoge: 13, fuga: 56 }; assert.deepEqual(a, b); }); 1) test1 strictEqual 2) test1 eqeqeq 3) test2 0 passing (15ms) 3 failing
Chief Architect at Semaphore. A decade of experience in dev productivity, helping close to 50,000 organizations with operational excellence. Mocha is a testing library for Node.js, created to be a simple, extensible, and fast. It’s used for unit and integration testing, and it’s a great candidate for BDD (Behavior Driven Development). This article will walk you through its installation and configu
C:\Users\**>npm install nightmare | > weak@0.3.3 install C:\Users\**\node_modules\nightmare\node_modules\phantom\node_modules\dnode\node_modules\weak > node-gyp rebuild C:\Users\**\node_modules\nightmare\node_modules\phantom\node_modules\dnode\node_modules\weak>node "C:\Program Fil es\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild Building the projec
最近またe2eを書いたりしてる。色々悩んだけど、やっぱNightmareを使うことにした。 Nightmareについては僕が前書いた記事を参考にしてください NightmareでE2E - Qiita Nightmareの良い点 Zero configuration というかただのスクレイパー 悪い点 プロセス立ちあげるのが遅い JSわかってないと読みづらい PrecepeterとかTestiumとかProtractor試したけどどれも走らせるだけでいっぱいいっぱいで、もう面倒臭い。 僕は行儀が悪いのでスクレイパーを走らせられればいいです。エビデンス() はスクリーンショットで確保する方向で。 連番のスクリーションショットを取りながらNightmareを走らせるサンプル Nightmare = require 'nightmare' class TestRunner extends Nig
JavaScript のテスト 書かないと怒られるし、書きたいとは思っているが、書くまでの敷居がやたらと高くなってしまった気がしている人へ。 最小のテスト 本質的にテストを書くのにフレームワークはいらない。 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(); あとは普通に
vivaldi_sushiとe2e_sushiと隣でやってたtemplate_literal_sushiに参加した #template_literal_sushi と #e2e_sushi のログ - Togetterまとめ ログはいつもどおり記憶だよりで色々間違ってる気がするので気になるところは本人に聞こう Vivaldi_sushi Vivaldiの話 付く前に終わってた Testium - azu 自分はTestiumとPageObjectパターンの話をしました。 Testiumって何? 同期的なWebDriver API PageObjectパターン という感じの内容です。 Testium関係で色々報告したりPR送ったりしたので、自分が気になるところは大体直った感じがします。 後はgroupon-testium/webdriver-http-syncのAPIが順次実装されていけば、
ユニットテストがしにくい状態となってるコードをTestiumを使ったE2Eテストを書いてリファクタリングしてみる話です。 例えば、以下のようなjQueryで書いたコードは外(テストコード)から取り出すポイントがないので、ユニットテストを書くのは難しいと思います。(そもそもViewのコードなので) 特定のバージョンでの変更点を簡単に確認できるよう、 「Aの列のラジオボタンを選ぶと同じ行より一つ下にあるBの列のラジオボタンを自動で選ぶ」 という補助機能 $(document).ready(function () { // seq: シーケンス番号 $.each(["new_version", "old_version"], function () { $("input[name='" + this + "']").each(function (idx, elem) { if (idx == 0
状態遷移表からひな型コードを生成する この状態遷移表からコードを起こすわけですが、状態遷移の実装については『StateパターンでCSVを読む』を書きました。デザイン・パターンの一つ:Stateによる実装です。今回の実装はC、継承も仮想関数も使えないという利き腕を封じられた条件なので戦術を大きく変えにゃならんです。 状態遷移の実装は要するに「(1)現状態 と (2)受理したイベント の組」に対応する「(3)アクション と (4)遷移先(新たな状態)」を引き当てることに他なりません。ならば上記(1)~(4)の並びをレコードとし、そのレコード列(=状態遷移表)から「(1)現状態 と (2)受理したイベント の組」に一致するレコードを探し出して「(3)アクション を実行して (4)新たな状態 に遷移」すればいい。 状態遷移表からひな型コードの生成には使い慣れた「T4-template」を用います。
今までJavaScriptでのユニットテストではexpect.jsを使っていたのだけど、 TDDやライオンで有名なtwadaさんのpower-assertが以前から気になっていて、 つい先日ブラウザ版がIE8に対応したらしく、試しにdeepcopy.jsで使ってみた。 初めての導入で、若干つまづいたところや勘違いしていたところがあったのでメモ。 power-assertについて power-assert自体は単なるアサーションライブラリ。 勘違いしていたのだけどpower-assertのリポジトリのREADME.mdにある、 テストが失敗した時の詳細な出力はpower-assertを使っただけでは表示できない。 espower-cliなどテストコードを変換する必要がある。 node.js node.jsでテストする場合に必要な作業。 モジュールのインストール インストールが必要なモジュール
こんにちは丸山@h13i32maruです。 ES6でアプリコード、テストコードを書いてテストをするための環境を作ったので、そのメモです。 目標 ES6で書いたアプリコードとテストコードをnpm run testでテストする 最終的な環境 最終的にはこんな環境になった。リポジトリ ECMAScript6 Google Chrome Travis CI npm traceur-compiler mocha espower-cli karma karma-cli karma-mocha karma-chrome-launcher bower power-assert 今回はgrunt/gulpのようなビルドシステムは入れていない。npm runをタスク実行のフロントとすることでタスク自体はお手軽にshで書いた。shだとwindowsが厳しいけど、まあとりあえず自分の環境用だしいいかなと。 以降で
JavaScript Advent Calendar 2014 11日目。 いきなり要約: Promiseや非同期テストのアサーションを簡単確実に書けるようになるesplanというライブラリのPoCを作った話。 Promiseや非同期のテストは難しい 詳しくはJavaScript Promiseの本: Chapter.3 Promiseのテストをご覧いただきたいのだが、Promiseのテストを正確に書くのはそんなに簡単ではない。 例えばmochaだと、 // 間違ったテスト1: // mayBeResolveWithOne() が1以外でresolveしたときタイムアウトエラーになる it("mayBeResolveWithOne()は1でresolveする", function(done) { mayBeResolveWithOne().then(function(value) { as
テスト書いてないとかお前そ(ry すみません、言ってみたかっただけです。 そして本記事は、巷で話題のAdvent Calendarとも何の関係もありません。 来年こそは書いてみたい! そもそも こんなたいそうなタイトルの記事ですが、 書いてる人がそもそもテストに関してぺーぺーなので、なんか変なコト言ってたら教えてください。 まず、根本的に勘違いしてたことがあるので、まずそれを記しておきます。 ※今思えば個人の勝手な勘違いです。 巷で話題のpower-assertですが、これだけ使えばもうテスト全ておっけー!ってものではないです。 そして、サクッと入れてサクッと使えるってものでもないです。 よーわからんけどテスト書いた方が良いって最近よく聞くし、 power-assertってのがとりあえずイケてるらしいから、それ使ってテストデビューしてみようかな・・って人。 それなりに前提知識がないと辛いで
構成 TravisCI上に仮想環境作成 TravisCIからProtractorでSauseLab呼ぶ SauseLabからTravisCI上の仮想環境に繋げる SauseLabはChrome, Firefox, IE, Safariでテスト
こんにちは、間藤です。 巷ではGoogle製MVC(MVW)フレームワークのAngularJSが流行っているようですが、残念ながらこれまでのところ業務で利用したことはありません。どんなものかくらいは押さえておこうと数か月前に公式サイトのチュートリアルをさらってみましたが、これがなんともよく出来ていて一人で関心していました。AngularJSチームは、テストにも非常に力を入れていて、ProtractorやKarmaといったテストツール(両方ともNode.jsのパッケージです)を開発しています。Protractorは、seleniumを利用してブラウザの自動テストをJasmineで書くことができます。(Mochaなど、別のテストフレームワークも利用できますが、デフォルトはJasmineだそうです。) で、今回はKarmaです。 KarmaとJasmineの関係性を整理しながら話をすすめられたら
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く