*

Titanium Mobile応用【JasmineとTiShadowでBDD編:数値ボタンの1回押し処理】

公開日: : 最終更新日:2014/05/26 CoffeeScript, Titanium ,


スポンサードリンク



前回の続きで、「BDD編その2」です。
BDD編その1をまずはご参照ください。

今後のBDDの予定ですが、まずは数値のボタンのクリック(タップ)
ですよね。各数字ボタンがアプリ起動後の最初に押されたボタンの時とそうでない
時の実装をし、小学校の算数でも四則演算は足し算からなんので足し算が次だと
思います。足し算、引き算、掛け算、割り算の順番で行こうと思います。

今回は、各数字ボタンがアプリ起動後の最初に押されたボタンの時の部分を記載します

まずはtiShadowを起動し、TiShadowに接続するアプリを起動し接続します。
TiShadowの利用方法の詳細につきましては、
「Titanium Mobile入門【TiShadow導入編】」
「Titanium Mobile入門【TiShadow活用編】」
を参照ください。

エミュレーターがTiShadowサーバに接続している状態になったら
コマンドプロンプトを起動して以下のコマンドを実行します。
なお%tiWorkspace%は
C:\Users\ログインしているユーザ\Documents\Titanium_Studio_Workspace
を意味すると読み替えてください。

速攻で計算機アプリが既に起動しているエミュレーターで実行されるはずです。

はい、されました・・・、あれれ!、なんでソフトウェアキーボード表示されるんや!!まあ、tiShadowだからしょうがないのだと思います。

まずは、テストをCoffeeScriptで記述するための前準備を行います。
jmkファイルを以下の内容に変更します。

 

プロジェクトルート直下にspec_coffeeとspecのディレクトリを作ります。
テストもCoffeScriptで書くのでspec_coffeeの配下にindex_spec.coffeeを作成します。
index_spec.coffeeがテストを記載するファイルとなります。

いよいよテストを書きます!
まずはbtnNumOneボタン(1)をタップした時のテストを書きます。
btnNumOneのタップイベントを発火し、結果の表示部分が1になることを検証します。

以下のコマンドを実行して、テストのコンパイルとテストの実行を行います。

結果は、当然失敗となります。FAILが出力されています。

 

では、btnNumOneボタンのタップ時の処理を実装します。
実装後のindex.coffeは以下のようなりました。
悪く言えば超必要最低限の実装、良く言えばシンプル

 

再度テストの実行を行うのですが、計算機アプリを修正したので
計算機アプリのコンパイルと反映

テストの実行

の各コマンドを実行する必要があります。

テストの結果は、成功となりました。FAILがPASSに変わりました。

 

次にbtnNumTwoボタン(2)をタップした時のテストを追加します。
テストスイートの構造も少し変更しました。

 

先ほどと同様に、以下のコマンドを実行して、テストのコンパイルとテストの実行を行います。

追加テストは当然失敗となります。

 

テストが通るように計算機アプリを修正します。
っと思ったのですが、どうやらalloyで配置されたコンポーネントを正規表現指定で取得するみたいな機能は提供されていないみたいです。たぶん
id=btnNum.*$で引っかかったオブジェクトに対して数値ボタンが押された時のイベントを仕込もう思っていのですが・・・
HTMLのDOM操作みたいなことできないのかな??、Window.childrenを利用して自分で走査していけば・・・

index.coffeeの$.btnNumOne.addEventListenerを除去し
index.xmlを以下のように変更します。できそうですが、とりあえずindex.xmlにイベント埋め込みます。

再度テストを実行すると、先ほど失敗していた「2ボタンのクリック」が成功しました。

他の数値ボタンのテストも実装してみます。
実装後のindex_spec.coffeeは以下のようになりました。

テストの実行結果は以下の通りです。

最後に生成されたindex_spec.jsを記載します。

とりあえず、数値ボタンの初回押しは実装できましたので、今回はここまでとなります。

Titanium Mobile応用【計算機アプリBDD編その3】に続く。


スポンサードリンク

Googleアドセンス

Googleアドセンス




関連記事

TitaniumのTableViewを試してみる【何故か後編】

「TitaniumのTableViewを試してみる【何故か前編】」では、予想に反してiOSシュミレー

記事を読む

Titanium Mobile応用【JasmineとTiShadowでBDD編:対象アプリ説明】

本格的にTitanium Mobile CLIを利用してBDDを行いたいと思います。 まずは、計算

記事を読む

no image

Titanium Mobile応用【JasmineとTiShadowでBDD編:テストが時々失敗する理由】

前回の最後に残った問題点の解決方法が分かりましたので 「BDD編その5」として記載させていただきま

記事を読む

Titanium Mobile応用【JasmineとTiShadowでBDD編:最大桁入力と閾値テスト】

前回の続きで、「BDD編その4」 「BDD編その1」と 「BDD編その2」 「BDD編その3」

記事を読む

Titanium Mobile入門【導入編】

スマホでアプリを開発すべくTitanium Studioの動作環境を作成し、Default Allo

記事を読む

Titanium MobileのAlloyにおけるUIコンポーネントの配置【前編】

Titanium MobileでAlloyフレームワークを利用する時に避けて通れないのがUIコンポー

記事を読む

no image

Titanium mobileでAndroidのActionBarを利用する。

Titanium mobileで基本的な画面遷移を試そうと思い、画面遷移のイベントを仕込むボタンをど

記事を読む

no image

Titanium Mobile入門【TiShadow活用編】

「Titanium Mobile入門【TiShadow導入編】」ではTiShadowの導入と接続用の

記事を読む

TitaniumのTableViewを試してみる【何故か前編】

Mac miniの環境が完成したので、新たなTitaniumを利用したBDDシリーズを開始する予定で

記事を読む

Titanium Mobile入門【導入編 on Mac】

いよいよTitanium Mobile入門【導入編 on Mac】です。 Titanium Mob

記事を読む

Message

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

動画で英語を学習できるiOSの無料アプリCapTubeをリリースいたしました。

個人では初となるiOSアプリをリリースいたしました。 何度もリジ

no image
Ruby on rails4系でBootstrapを利用するためのtips

MacでRuby on rails4系のBootstrapを利用しよう

no image
Java、Eclipse、JUnit関連のエントリーの移行のお知らせ

Java、Eclipse、JUnit関連のエントリーは http:/

iOS8開発者向けお勧め本紹介[詳細! Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応]

iOS7開発者向けお勧め本紹介を以前に紹介させていただきまいたが、今回

Swift入門(Xcode6のXCTestフレームワークで学ぶ) 第二回「関数(メソッド)とクロージャーの利用方法」

前回はSwiftの概要をザックリと説明させていただきました。 今

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑