npm runで複数のscriptsを動かす

2015-09-17T19:58:13+09:00 JavaScript Node.js

https://www.npmjs.com/package/npm-run-all を使えば可能らしいのでやってみた

npmだけでディレクトリを監視してテストを自動実行させる方法

2015-05-18T00:00:00+09:00 JavaScript Node.js

一定のディレクトリを監視しつつ、変更があったらテストを実行するコマンドを勝手にやってくれるようなパターンをnpmだけでやるにはどうすればいいのか調べた所npm-watchっていうのがあるらしい

engine.io

2014-05-20T00:00:00+00:00 JavaScript Node.js

参考: Engine.IO単体でチャットを作った

上記の参考に触発されてやってみた

selenium-webdriverを使ってChrome Extensionのテスト

2014-04-05T00:00:00+00:00 Chrome Extension JavaScript Node.js

selenium-webdriverを使えばChrome Extensionの操作テストとか出来たりする模様なのでやってみた

supervisord (4) - eventlistener -

2014-02-17T00:00:00+00:00 supervisord Python JavaScript Node.js

参考: http://blog.hakutoitoi.com/?p=396

supervisordで管理しているプロセスが落ちたりだとか(規定されている?)一定時間毎に何かコマンドを動かしたい時とかに使える模様

gulpでmocha-phantomjs+jscoverage

2014-02-14T00:00:00+00:00 JavaScript Node.js gulp

以前に「mocha-phantomjs+jscoverageでコードカバレッジ出力」な流れをgruntに移植するっていうのをやったのですが、それのgulp版

nginxでwebsocket

2014-01-12T00:00:00+00:00 JavaScript nginx Node.js

nginx1.3から正式サポートされたらしいのでやった事無かった為やってみただけ。前回のAndroidでsocket.ioで使ったのをちょいと修正して使う

Androidでsocket.io

2014-01-11T00:00:00+00:00 Android Java JavaScript Node.js

socket.io-java-clientを使えば出来るらしいのでちょっと要件検証目的でやってみた。ちなみにsocket.ioサーバーはnode.jsなやつを使う

mocha+webdriverjs(+selenium)でテスト

2013-04-03T00:00:00+00:00 JavaScript Node.js

やってみた。テスト対象は以前に作ったJavaScriptなカレンダービューがあるブログシステム(独自)

superagentでリダイレクトをフォローしない

2013-03-06T00:00:00+00:00 JavaScript Node.js

何やらsuperagentっていうのがある模様。ちょっと使ってみたのだけどいろいろハマったのでメモ

mochaとchaiでJavaScriptをテスト

2013-03-05T00:00:00+00:00 JavaScript Node.js

http://visionmedia.github.com/mocha

http://chaijs.com

を使ってnode.jsでもbrowserでテストランナーなHTMLを読み込んでもテスト出来るテストフレームワークな感じ(正式的にはどういうスタンスなのか個人的に不明)。使ってみるとする

zombie.js

2013-01-28T00:00:00+00:00 JavaScript Node.js

※defunctじゃないよww

以前にsodaを使ってJavaScript UI Component?な所をシステムに結合した状態でテストするっていうのをやったんですが、sodaをやる前からzombie.jsっていうのがあるのは知ってたんですがやらず嫌いなのもどうもなっていう事で使ってみた。要件はまったく同じでJavaScriptなイベントが実行されるリンクをクリックしたりして検証してみたりしてみる

node.jsでdocument/window依存なスクリプトをグダる (2)

2013-01-14T00:00:00+00:00 JavaScript Node.js

node-jqueryがwindowなグローバルがあればXMLHttpRequestをロードしてくれるっていう事実が発覚したのですが

それは置いといて、node vm contextな扱いとかでrunnerなJS作ってnode.jsでjQueryを扱うテストとか色々出来ないかなーっと模索しているのですが、とりあえずやってみた(但し、QUnitとか除外)

node.jsでdocument/window依存なスクリプトをグダる

2013-01-13T00:00:00+00:00 JavaScript Node.js

例えばJavaScriptなUIコンポーネントというかなんかを書いて、それをテストする際にはQUnitだとか、操作エミュレーションではSelenium使ったりすると思うのですが。でnode.jsを使ってdocumentやwindowに依存するスクリプトを実行する場合どうするかって話。んまぁ要件により様々だとは思いますけど

でnode.jsのモジュールでjsdomっつーのがあって、それを利用してあーだらこーだらできねーかなーって思って色々やってみた

sodaを使ってみる

2012-11-19T00:00:00+00:00 JavaScript Node.js

何やらNode.jsでSeleniumを使った検証が出来る模様な https://github.com/LearnBoost/soda っていうのがあるらしいので、ちょいと使ってみた

Node.jsのrequire.cache

2012-05-07T00:00:00+00:00 JavaScript Node.js

Node.jsのrequireは読み込んだ後にその.jsファイルをキャッシュするような事は以前書いた。でこれ不都合な場合もある。それが「テストケース時にモジュールのprototypeを意図的に書き換えた場合にその後のテストケースにも影響する」っていうところがあるようで。

Node.jsのrequire

2012-05-03T00:00:00+00:00 JavaScript Node.js

  • requireで参照された場合に特定の処理を行わない
  • nodeコマンドによるスクリプト実行だと通常どおり処理を行う

というもの。なぜこういうのが必要になったのかと言うと、単純に実行を行うスクリプトとそれに伴うオブジェクト定義等を行うスクリプト(module.exportsする)を分けてしまえば良いだけの話になるのだけど、それをする為だけにわざわざスクリプト別にするという明らかにめんどくさい事の必要性ってないよねって思う所。んで、そうすると「じゃあこれどうやって単体テストするの?」って話になるわけで。なので1と2で処理を分ける、つまりrequireをした時は特定の実行コンテキストに及ぶ処理は行わない、そうする事でオブジェクト定義側を単体テストで流し込む事が出来るでしょうと。じゃあそれNode.jsでどうやるのって話。ドキュメントにそれらしいのがある

http://nodejs.org/docs/v0.6.15/api/all.html#all_accessing_the_main_module

「require.main === module」とい式自体がnodeコマンドにより実行された場合はtrueで、逆にrequireを使って処理された場合はfalseになるっぽい。という感じでやれば良いらしい。という事でテスト的に書いてみると