CLR/H カフェ #clrhcafe2

2015/07/17 に行われた CLR/H カフェ #clrhcafe2 のまとめです。jasmineによるTypeScript/JavaScriptの単体テストの実践に挑戦。
0
CE.紗透-sasuke- @plusism

ちょびっと遅れてます。。。 #clrhcafe2

2015-07-17 19:00:03
@jsakamoto @jsakamoto

勝手がわからないけど始めてみる。 #clrhcafe2 pic.twitter.com/2K0DBqCqVJ

2015-07-17 19:14:45
拡大
Issei Sato @IsseiEL

さすらいのノマドワーカー様が仕事をしていらっしゃったのを発見(*'▽')ご挨拶をする。 #clrhcafe2

2015-07-17 19:16:22
@jsakamoto @jsakamoto

VisualStudioだったら: 準備 VisualStudioギャラリーから「TypeScriptJasmineTests」プロジェクトテンプレートと「ChutzpahTestAdapter」アドインをインストールしておく。 #clrhcafe2

2015-07-17 19:21:59
$_ @stknohg

もうみんなきてた。俺は後ろから眺めてようw #clrhcafe2

2015-07-17 19:23:03
@jsakamoto @jsakamoto

VisualStudioだったら: 開始 新規プロジェクト作成で「TypeScript Jasmine Tests」テンプレートを選んで作成、 ~/Tests/Test.tsができているのでこれを開いて保存(セーブオンコンパイルでTest.jsができあがる) #clrhcafe2

2015-07-17 19:25:15
@jsakamoto @jsakamoto

VisualStudioだったら: 注意点 ソリューションエクスプローラーで全てのファイル表示をOnにして、生成された.jsをプロジェクトに取り込むこと! 取り込むとChutzpahによってテストコードが検出され、テストエクスプローラに表示される! #clrhcafe2

2015-07-17 19:27:03
$_ @stknohg

みんなが黙々とプログラム書いてる中俺は飯を食べてる。 #clrhcafe2 pic.twitter.com/hVLIm6MmBI

2015-07-17 19:27:16
拡大
@jsakamoto @jsakamoto

このやり方の面白いところ 1.TypeScriptでテストを書ける 2.プロジェクトにJasmine.jsを入れてない! (Chutzpahがよしなにやってくれるらしい) 3.Chutzpahがテストを実行する。(内部でPhantomJS使ってたっけ?) #clrhcafe2

2015-07-17 19:33:49
@jsakamoto @jsakamoto

Jasmine.jsはプロジェクトに含まれていないがTypeScript型定義が含まれてる。インテリセンス最高! Matcher に何があるか、いちいち調べなくても済むね。 #clrhcafe2 pic.twitter.com/aGMV3uafIG

2015-07-17 19:38:31
拡大
Issei Sato @IsseiEL

環境:windows Eclipse4.4 下記のページを参照してください。 qiita.com/k499778/items/… #clrhcafe2

2015-07-17 19:53:03
CE.紗透-sasuke- @plusism

「bool」なんて知らねぇ!!怒られた。テンプレからプロジェクト作るとJasmineの定義ファイルが古い…0.0.8→1.3.6に更新したった。 #clrhcafe2

2015-07-17 19:55:53
@jsakamoto @jsakamoto

VisualStudio + Chutzpah、環境立ち上げはささっとできてよかったんだけど、.ts保存してからテストエクスプローラに検出されるまでにエライ時間かかるなぁ...。これじゃ実用できないかも。 #clrhcafe2

2015-07-17 20:04:15
Issei Sato @IsseiEL

●Jasmine では、テストコードは Suite と Spec の2つで構成される ●JUnit で言うと、 Suite はテストクラスで、 Spec はテストメソッド ●Suite は describe 関数を使い、 Spec は it 関数で宣言する #clrhcafe2

2015-07-17 20:06:31
Issei Sato @IsseiEL

●値のチェックは expect(actualValue).toBe(expectedValue); で実施する(toBe() 以外にも色々メソッドが用意されている)。 #clrhcafe2

2015-07-17 20:07:28
Issei Sato @IsseiEL

●Jasmine のファイル・テスト対象のコード・テストコードを読み込んだ HTML をブラウザで表示することで、テストが実行され、結果が表示される。 ●boot.js は jasmine.js より後、かつテスト対象コードより前に読み込む必要がある。 #clrhcafe2

2015-07-17 20:08:23
Issei Sato @IsseiEL

by Qiita参照(*'▽') #clrhcafe2

2015-07-17 20:08:47
Issei Sato @IsseiEL

あ、私のQiitaリンクのHTMLファイルは、ファイルパスが間違っていたので、直したら動きました。「lib/」を適時対象ファイル前に付与してください。 #clrhcafe2

2015-07-17 20:12:59
$_ @stknohg

俺の環境だとテストケースが全くでないでござる... #clrhcafe2

2015-07-17 20:15:36
51 @Aut_Spyke

toBeLessThan とか toBeTruthy とか書いてみる #clrhcafe2

2015-07-17 20:35:17