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
https://engineering.groupon.com/2014/misc/i-tier-testium/1 comment | 0 pointsGrouponが、Node.js向けの結合テストツールtediumをオープンソースとして提供しました。 What is testium BDD (振舞駆動開発) 構文で書ける。 CoffeeScript/JavaSacriptで書かれている。 同期APIがある。 Seleniumを利用できる。 Why Create a New Tool RailsではCucumberをセットして、実際のブラウザでSeleniumを使ってテストができたが、Node.jsではフィットするものが見つからなかった。 Exploring WebDriver 既存のSeleniumのインフラを利用するために、JavaScriptとMochaで書けて、同期APIのある
nodeのアプリケーションに対するテストをmochaで書いていて、railsのアプリケーションに対するテストをrspecだとこう書くけどこれはmochaではどうすればいいのだろう、というのが幾つかあったので書き留めておきます。今回解説に使うコードは全てgithubにあるので、そちらも参考にして下さい。 今回テストの対象となるアプリケーションは以下の様なものです: socket.ioを使ってユーザ間でメッセージのやり取りが出来る ユーザは、最初にサーバに接続した歳にユーザ名を含んだjsonをサーバに送り、サーバはそのjsonを受け取ったらそのユーザ名をredisに書く それ以降は、ユーザはユーザ名とメッセージを含んだjsonをサーバに送り、サーバはそのjsonを受け取ったら他の全てのユーザにそのjsonを送る それでは早速解説していきます。 テストファイルの名前 テストを実行するのには、mo
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
JavaScriptに対する自動テストツールも充実し、Jenkinsなどを用いてCIをまわす人も増えてきました。 しかし、レスポンシブレイアウトや、Floatのレイアウト崩れなど、人間が見ればすぐに分かる「見た目」に関する問題は、自動テストによる判定がし辛いのが実情です。 この記事では、この問題を解決するために作成した、テスト中にスクリーンキャプチャを取るためのプラグイン「phantom-capture」を紹介します。 現状の問題点 Jasmine や QUnit といったテストフレームワークや、 PhantomJS , sinon.js といったツールの助けを借りることで、JavaScriptの自動テストが行えるようになり、サーバ側だけではなく、クライアント側にも自動テストを適用する人が増えてきています。 ビジネスロジックやバリデーション、DOMの構築結果などは問題なくテストすること
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
今回はカテゴリを画面でソートできることをテストする。たとえばブログで言えばブログカテゴリの表示順を管理画面でソートしたいとき、などの話。 こんな画面で、ドラッグアンドドロップでソート後、更新ボタンを押したら、その順番に更新される、という仕様のテストを書く。 実装はここでは省くとして、テストを書こうと思ったときにD&Dをどうやるかがポイントになると思われる。 で、capybara-webkitにはdrag_toというメソッドがあるので、これで解決した。 なので、capybara-webkitを使う前提なので使えるようにしといてください。 ちなみにソートUIにはjquery-sortableを使ってます。 具体的にはこんな感じ。 view <section id="blog-categories" class="categories"> <header class="page-header c
ウェブアプリケーションのJSのテストするのにCasperJS使ったら便利だった. CasperJSはPhantomJSにテスト用ユーティリティがついて便利になったやつ. JS,MVCできれいに書いてると,Modelの単体テストとかできるけど,昔ながらの感じだと,ここをクリックしたらこれが表示されること,みたいなテストを書くことになる.けどライブラリとかいろいろあってどれを使えばよいか分からなくて敷居が高い.CasperJSを使ったらこれだけで完結してテスト書ける. PhantomJSは単なるブラウザだけど,CasperJSはテストのフレームワークとか,DOMのテスト関数とかがついてる. 非同期なタスクの実行の仕組みも入ってて,casper.thenっていうのを順番に書いていくと,順番に呼んでくれて,click()して,casper.thenしたら,ページ遷移したら次のページに移動してる.ス
モジュールのロードまわり lib/sinon.js がモジュールのエンドポイント sinon object の作成、環境に応じた初期化、ユーティリティメソッドの定義を行う spy や mock などの機能毎にファイルが分かれる lib/sinon/*.js に配置 lib/sinon/spy.js など sinon.js 大きくは以下のように sinon object を作って返す。 var sinon = (function() { function somePrivateFunction() {}; var sinon = { foo: function foo() {} }; return sinon; }()); node の場合、ブラウザの場合、busterjs の場合で異なった初期化を行う。 node の環境かどうかの判定は module.exports の有無で行う。 var
sinon.jsを最近使いだしたのですが、そこでFake XMLHttpRequestやFake serverが素晴らしく便利なんじゃないかと思って、jsonpのスクリプトで利用利用してみようと思い立ったのです。 $.ajax({ url:url, scriptCharset:"UTF-8", type: 'GET', dataType : 'jsonp' });
Swift is the best programming language you should learn and make your dream app easily. Swift programming is a powerful yet easy-to-learn coding language created by Apple. It's frequently used for developing iOS and macOS applications, as well as tvOS and watchOS apps. While you can use other languages to create Apple apps, Swift is the preferred language, and it's recommended because its code is
端的に言うと以下のコードは想定通りに動かない。(Node のコンソールで) var Backbone = require('backbone') var Sinon = require('sinon') var m = new Backbone.Model({ 'foo': 'bar' }) var f = function(){ console.log("===> Callback called") } m.on('change', f) Sinon.spy(this, 'f') m.set('foo', 'hoge') f.called // => false m.on('change', f) した時点で f の参照自体が m に束縛されていて、その後いくら spy で this.f をすげ替えても、 m のコールバックで呼ばれる処理には影響しない。 その処理以降を次のように変えてや
はじめにJavaScriptでの、テストダブルを使ったユニットテストの書き方について書く。テストランナーにはJsTestDriver, モックライブラリにはSinon.JSを使う。 ベースとなるコードには、Sinon.JS > Getting startedから、Spies, Stubs, Testing Ajax, Fake XMLHttpRequest, Fake Serverの5つを使う。これらのコードはそのままでは実行できない (テストランナーにJasmineやMochaを使う場合のテストメソッドが切り出されている) ので、JsTestDriverで実行できるように書き換えて、サンプルコードとする。 書き換えの際、Sinon.JS > Documentationや『テスト駆動JavaScript』を参考に、次のTIPSを導入する。JsTestDriverとSinon.JSのアサーシ
jQuery#triggerのテスト describe('jQuery#trigger', function() { it('イベントハンドラに値を渡せること', function(done) { var $el = $('<div>'); $el.bind('foo', function(event, val) { expect(val).to.be('bar'); done(); }); $el.trigger('foo', 'bar'); }); }); コールバックが2回呼ばれるかをテスト describe('jQuery#trigger', function() { it('イベントハンドラに値を渡せること', function(done) { var $el = $('<div>'); var count = 0; $el.bind('foo', function(event,
初めましてこんにちは。ソーシャルクライアント開発の tanabe と申します。 今回は?Sinon.JS を使った JavaScript のテスト方法を紹介したいと思います。 Sinon.JS って何? Sinon.JS はノルウェーのエンジニア Christian Johansen さんが書かれた、JavaScript 用のライブラリです。スタブやモック、フェイクオブジェクトの提供に特化していて、QUnit などのテスト用のフレームワークや実行環境に依存しない所が特徴です。Christian Johansen さんは?Test-Driven JavaScript Development の著者でもあり、こちらは近々翻訳版 が登場するようです。 では早速、Sinon.JS を使ったテスト手法をご紹介していきたいと思います。本稿ではテストフレームワークは QUnit を採用しています。 時間
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く