More Related Content Similar to Tokyo Rubykaigi 01 t-wada Similar to Tokyo Rubykaigi 01 t-wada(8) More from Takuto Wada(20) Tokyo Rubykaigi 01 t-wada
6. 自己紹介
名前: 和田 卓人 (わだ たくと)
メール: takuto.wada@towersquest.jp
ブログ: http://d.hatena.ne.jp/t-wada
Twitter: t_wada
Wassr: twada
8. これまで書いたもの
WEB + DB PRESS
vol.35 「実演! テスト駆動開発」
vol.37 「実演! リファクタリング」
vol.42 「現場で使えるREST」
LifeHacks PRESS
オープンソースマガジン(リレーコラム)
他いろいろ
10. デブサミ
• デベロッパーテスティング・ライブ - 自信を持ってコードを書
くための心・技・体 -
• 【徹底討論】テストなんていらない?!-テストを、どこ
までやるべきか?
• そしてデブサミ 2009 へ
• テストトラックのコンテンツ委員になりました
31. SELECT * FROM emp
WHERE
job = /*ctx[:job]*/'CLERK'
/*IF ctx[:age]*/AND age > /
*ctx[:age]*/20/*END*/
Given
33. SELECT * FROM emp
WHERE
job = ?
AND age > ?
Then
と、 ['MANAGER', 30]
34. SELECT * FROM emp
WHERE
job = /*ctx[:job]*/'CLERK'
/*IF ctx[:age]*/AND age > /
*ctx[:age]*/20/*END*/
Given
36. SELECT * FROM emp
WHERE
job = /*ctx[:job]*/'CLERK'
/*IF ctx[:age]*/AND age > /
*ctx[:age]*/20/*END*/
Then
39. SELECT * FROM emp
/*BEGIN*/WHERE
/*IF ctx[:job]*/ job = /*ctx[:job]*/'CLERK'/*END*/
/*IF ctx[:age]*/AND age > /*ctx[:age]*/25/*END*/
/*END*/
Given
41. SELECT * FROM emp
/*BEGIN*/WHERE
/*IF ctx[:job]*/ job = /*ctx[:job]*/'CLERK'/*END*/
/*IF ctx[:age]*/AND age > /*ctx[:age]*/25/*END*/
/*END*/
Then
43. SELECT * FROM emp
/*BEGIN*/WHERE
/*IF ctx[:job]*/ job = /*ctx[:job]*/'CLERK'/*END*/
/*IF ctx[:age]*/AND age > /*ctx[:age]*/25/*END*/
/*END*/
Given
45. SELECT * FROM emp
/*BEGIN*/WHERE
/*IF ctx[:job]*/ job = /*ctx[:job]*/'CLERK'/*END*/
/*IF ctx[:age]*/AND age > /*ctx[:age]*/25/*END*/
/*END*/
Then
61. Java コード
public void testNext() throws Exception {
String sql = "SELECT * FROM emp";
SqlTokenizer tokenizer = new SqlTokenizerImpl(sql);
assertEquals("1", SqlTokenizer.SQL, tokenizer.next());
assertEquals("2", sql, tokenizer.getToken());
assertEquals("3", SqlTokenizer.EOF, tokenizer.next());
assertEquals("4", null, tokenizer.getToken());
}
62. Ruby コード
def testNext
sql = "SELECT * FROM emp"
tokenizer = SqlTokenizer.new(sql)
assert_equal(SqlTokenizer::SQL, tokenizer.go_next(), "1")
assert_equal(sql, tokenizer.getToken(), "2")
assert_equal(SqlTokenizer::EOF, tokenizer.go_next(), "3")
assert_nil(tokenizer.getToken(), "4")
end
63. PTSCTCPW
Port The Simplest Case That Could Possibly Work
Context 逐語訳的テスト移植を終えた
Force
グリーンが見たいが、レッドに
なるテストが多すぎる
Solution
最も単純なテストケースから実
装し、それ以外は pending