JavaScriptのユニットテストでnavigator.userAgentをモックしてテストしたいことがあり、そのようなユーティリティを作ってテストをしてみたのでメモ。 ちなみにいろいろ試した例は https://github.com/shibayu36/javascript-playground/blob/master/es2015-project/test/stubUserAgent.js にあるので、参照してください。 やりたいこと 最近はkarmaやkarma-html2js-preprocessorを利用することで、DOMに依存するテストでもHTMLの断片を用意してユニットテストを行うことができるようになった。TypeScript環境でそのようなテストをする方法については 以前の記事 で紹介した。またES2015版でのテスト環境を作った例は https://github.com
blog.shibayu36.org 前回の記事でKarma, Mocha, Chaiを使ったJSのユニットテスト環境を作ることができた。しかしテストを書き続けていると、「手元で全体のテストを再実行するのに時間がかかる」という問題が起こった。そこで今回は「今編集中のテストのみをEmacsから実行する」という作戦で問題を解決しようと考えた。 今回のサンプルコードは https://github.com/shibayu36/typescript-project-sample/tree/9e6baf1ebc9cd60083515918b23b6cb1dc24cea8 にあるので参考に。 課題 JSのテストをずっと書き続けていると全体のテストを実行するのに10〜数十秒程度かかるようになってくる 手元でkarma startを使ってテストをしていると、ファイル変更のたびにテストを実行してくれるがka
一休.com宿泊サイトのE2Eテスト事情をギッリギリまで話しました。このスライドを見た方は一休のエンジニアより一休のE2Eに詳しくなると自負しております。
..., frameworks: ['jasmine', 'sinon'], ..., plugins: [ ..., require('karma-sinon'), ], ..., テストコードは以下のように書いた。①から⑥の順番で処理が実行される。 ③→④→⑤→⑥と処理が走るのがポイントで、server.respond();がasync関数のレスポンスを返し、⑤で実際のテスト、⑥でjasmineの非同期テスト終了関数doneを呼び出している。 import request from 'superagent'; describe('sinonjs', function() { let server = null; beforeEach(() => { // ①疑似サーバの生成 server = sinon.fakeServer.create(); }); it('fakeServer',
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く