先生、Alloyでテスト自動化したいです。

という訳で、Titanium Mobile で使いやすそうな UnitTestフレームワークをググってみると Jasmine 一択な空気をビンビン感じます。感じやすく空気が読めるのを自負する自分としてはこれはもう迷い無く Jasmine でいく事にします。

便宜上自動ユニットテストと呼んでますが、やりたい事はどっちかというとコントローラ含む結合〜システムテストだったりします。そもそもJasmineを触った事ないんでそこまで出来るかは未だ良く判ってないですけど、それはそれとして。

 
 


先人達の知恵

Jasmine Titanium

Titanium で Jasmine を動かし、GitHubで公開もされています。なんというGJ。2011年と少し古いのでアレだけど最初の方に知恵を積み上げた方達尊敬します。有難う御座います。

Titaniumでユニットテスト | ひげろぐ

Titaniumでユニットテスト Jasmine再び編 | ひげろぐ

Jasmine TitaniumをGithubで公開しました | ひげろぐ

akahigeg/jasmine-titanium (GitHub)

 
 


Jasmine Titanium + Jenkins

jasmine-titaniumとjasmine.titanium.JUnitXmlReporterをつなげて Titanium Mobile + Jasmine + Jenkins でiPhoneアプリの自動テストの話です。Jasmine のみならず Jenkins まで。素晴らしい。Jenkins化する時に参考にさせて頂きます。2011年当時はAlloyのアの字も無かった事が悔やまれます。

Titanium Mobile Jasmine Jenkins でiPhoneアプリの自動テスト組んでみたよ – ikeike443のブログ

 
 


Titanium + Jenkins + CoffeeScript等

ようやくAlloyが登場します。Alloyの安定版は Titanium SDK 3.x.x以降だろうから、2012年冬位からですよね。(多分)

もぅバリバリのJavaScript開発者な匂いがプンプンするエントリ。

TitaniumのフレームワークAlloyをCoffeeScript/Jade/Jasmine/TiShadowで便利に使う – Ari-Press

CoffeeScript Jade Jasmine環境でAlloyによる開発をするためのコンパイルスクリプト。

なんですと。alloy generate jmkて何?

ついていけてないので後で調べます。コレを理解するとしあわせになれそうな予感がします。

あとCoffeeScript 凄くイイって聞くんですけど(諸事情で今回は素のJSです)触った事なくて尻込みしてますが、Titaniumと組み合わせではどうなんでしょう。

Titanium Mobile はともかくAlloyとなると日本語で発信されている情報は少なくて、Jasmineとの組み合わせはもう壊滅的です。もっぱら英語圏が頼りになってきます。

以降は英語。

 
 


titanium-alloy-jasmine-testing (英語)

「Titanium Mobile alloy jasmine」でググると1番目にヒットするのがコチラ。なるほどそのままです。

活発にメンテナンスされているかどうかは未知数です。4ヶ月前に最終更新、STARが15個 (内私が1個) です。

まぁでも有力候補です。なにしろGoogle先生イチオシですし。

tsteur/titanium-alloy-jasmine-testing

 
 


tijasmine (英語)

tijasmine – GitHub使ってみたよ、という話。

判りやすい。

他にも色々リンクつけてくれてて芋づる式に見つかるとかナイス。

Unit testing in Titanium Appcelerator and Alloy: Testing commonjs modules | Coding pie

An Appcelerator Titanium Jasmine (Javascript Testing) Module

Thank you Bill Dawson!!

 
 


denvers / unit-test-titanium-alloy-project (英語)

最終更新 11ヶ月前とちょい古いけど、Starが27人か。

/app/assets/spec/

にspecを置いて、

app/alloy.js で、dev で require(‘spec/ui’)シロ、本番時はコメントアウト、か。

なるほど。やはりそうなるのか。

Denver, thanks a lot!!

Denver Sessink : Automate Unit Testing a Titanium Alloy project

denvers/unit-test-titanium-alloy-project

取り敢えずいずれかを使えば、Titanium Alloy でも振舞駆動でテストファーストな自動化が出来そうです。