JasmineでBDDをやってみる
Jasmineを使っている人が社内にいて、そしてBDDをやってみたかったので触ってみた。
JasmineのダウンロードページからDownload。
で、一番新しいjasmine-standalone-1.1.0.zipをダウンロードしたらlibしかなく、
「あれ?これだけなの?」
となり、とりあえずDocumentを読んだ。
そして「SpecRunner.htmlってどこだよー!!」ってなった。
ググったら1.0.2にあるよというのがわかり1.0.2もダウンロード。
libを1.1.0に置き換えて、SpecRunner.htmlをvimで開き、
%s/1.0.2/1.1.0/g
で、JavaScriptやCSSのpathを修正。
で、
open -a "google chrome" SpecRunner.html
とかでブラウザで開く。
そうするとこんな感じでテスト成功例が出ますと。
でも今回はAPIのテストをしたかったのでこんな感じで書いた。
var appServerUrl = '/api/hogehoge'; describe("Jasmine", function() { it("makes testing JavaScript awesome!", function() { var xhr = new jasmine.XmlHttpRequest(); xhr.open("GET", appServerUrl, false); xhr.send(null); runs(function() { result = JSON.parse(xhr.responseText); expect(result.meta).not.toBeNull(); expect(result.meta.code).toEqual(200); expect(result.data).not.toBeNull(); [1, 3, 5, 7].forEach(function(i) { expect(result.data[i]).not.toBeNull(); }); }); }); });
ざっくりできたけど、僕がやりたかったとことはもっとbehatとかcucumberみたいなことだった。
プロデューサをテストに巻き込みたかったのだけどこれだと足りないかなぁ。