ryuone's memo

備忘録

buster-mode/buster-snippetについて

Buster.JSとは

Node.jsで作られている、JavaScript Testing Framworkである。他のFrameworkとしては、

等がある。Buster.JSはAugust LilleaasとChristian Johansenの二人がメイン作っていて、Christian JohansenはSinon.JSの作者でもある。

■ buster-modeについて

Buster.JSでテストを素早く開発する為のEmacsのマイナーモードである。また、buster-modeの作成ビデオがhttp://emacsrocks.com/の下の方(Extending Emacs部分)にある。

ダウンロード

以下よりgit cloneでEmacsのload-pathにダウンロードする。
https://github.com/magnars/buster-mode

または、submoduleとして追加する。

buster-modeを読み込む

emacsの設定ファイルに、以下の内容を追記する。
下記設定は、”test.js”で終わるファイルを開いた場合に、buster-modeを有効にしている。その時メジャーモードはjs2-modeとかjs3-modeとかjavascript-modeになっていると思う。

キーバインド

buster-modeでは、C-c C-bを入力してから、2文字を入力するようになっている。

キー 処理内容
td toggle-deferred : ‘//’を現在のテストに追加したり削除したりする。
tf toggle-focus-rocket : ‘=>’を現在のテストに追加したり削除したりする。 ‘=>’は追加したテストのみを実行する。
ra run-all-tests : buster-testコマンドを実行して、テスト行う。

buster-snippetについて

Buster.JS用のYasnippets

ダウンロード

以下よりgit cloneでEmacsのload-pathにダウンロードする。
https://github.com/magnars/buster-snippets.el

または、submoduleとして追加する。

■ buster-snippetを読み込む

emacsの設定ファイルに、以下の内容を追記する。

カスタマイズ

"use strict"を追加

test caseを書く際に"use strict"を追加する場合、emacsの設定ファイルに、以下の内容を追記する。

assertrefuteを宣言する。

assertrefuteをglobalで使用しない場合、emacsの設定ファイルに、以下内容を追記する。

デフォルトのnamespace-objectを設定する。

プロジェクト毎に、namespace-objectを設定する場合、emacsの設定ファイルに、以下内容を追記する(js2-modeを利用している場合)。

即時実行関数を設定

emacsの設定ファイルに、以下内容を追記する。

snippet

基本

キー 内容
tc new testCase (one for node, browser and node+browser)
tt additional test
cx nested context
su setup method
td teardown method

assert / refute

asの部分をreにするとassertでは無く、refuteになる。

キー 内容
ase assert.equals
asm assert.match
ass assert.same
asx assert.exception
asd assert.defined
ast assert.threw
asat assert.alwaysThrew
asin assert.isNull
asio assert.isObject
asto assert.typeOf
ascn assert.className
astn assert.tagName
Sinon.JS
asc assert.called
asc1 assert.calledOnce
asc2 assert.calledTwice
asc3 assert.calledThrice
ascw assert.calledWith
ascc assert.callCount
asco assert.callOrder
asco assert.calledOn
asaco assert.alwaysCalledOn
asacw assert.alwaysCalledWith
asacwe assert.alwaysCalledWithExactly
ascwe assert.calledWithExactly

入力例

以下のように、emacs設定ファイルに追加。

twice_test.jsを開いて、tcと入力して[tab]を押下してbuster.testCase.mixedを選択すると、

と出力される。

Pocket
Delicious にシェア

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください