テストをプロダクトコードと別言語で書くことに関するTL

前から思っていた疑問 「プロダクトコードと別の言語でテストコードを書くのって、いいの?」 をつぶやいたことから発生したTLをトゥギャってみた。
28
なぎせ ゆうき @nagise

@bleis @t_wada たしかにそれはマルチランゲージでは厳しいか

2011-11-15 17:30:15
Takuto Wada @t_wada

@bleis test code は expressive な言語で書くべき派と test code はコピペできるサンプルコードであるべき派はどちらも一理ありますね

2011-11-15 17:31:31
ぐるぐる系SQL @bleis

実践する人毎に結論が出ている感じか。俺は正直「無し」派です。

2011-11-15 17:33:31
なぎせ ゆうき @nagise

マジで。未来はそこまで迫ってたんか! QT @hikaruworld ん?PyDevでJython使ってjavaと混ぜて書いてる場合だとリファクタリングが不安定ながら言語をまたいで反映されたんじゃないかな。

2011-11-15 17:36:33
ぐるぐる系SQL @bleis

んー、俺の中での結論としては、宣言的にテストが書けない言語は色々とつらい、という。そうじゃないものに関してはノーコメントで。

2011-11-15 17:36:42
文殊堂 @monjudoh

@bleis 粒度によるっていうのが肝。例えば、特定Webフレームワークの上で開発しているWebアプリでcontroller部分をテストするとかだったら、ぶっちゃけ同じ言語でなくても一番いいのでいいよね?

2011-11-15 17:38:00
Hideki Kishida @quicy

JavaのテストをGroovyで書くのを推進している人は、一定数いると思います。

2011-11-15 17:38:28
ぐるぐる系SQL @bleis

SpockとかでJavaのテストコード書いてる人たちって、リファクタリングとかどうやってるんだろう

2011-11-15 17:40:34
Yasuharu Nakano @nobeans

JavaのテストはJavaで書くのが色々メリット(特にIDEのサポート面で)があって良いけど、Groovy/Spockの記述力も捨てがたい、という優柔不断派。もんじゅ様がいうように、結合・システムテストレベルであればGroovyで良い気がする。ユニットテストはJavaが無難だなぁ

2011-11-15 17:42:05
Hideki Kishida @quicy

動的言語でJavaのテスト書く人は、TDDのコードは捨てる派の人と、動的言語のテストを動的言語で書くのに慣れてるからリファクタリングはそんなもんだ派の人が想定されます。というか、そう想定しないと自分には理解できないかな..。

2011-11-15 17:42:46
ぐるぐる系SQL @bleis

結合・システムテストレベルはとりあえず今回の範囲外と言うことで。そこはうちでも別言語(Ruby)使ってテストしてる

2011-11-15 17:42:59
なぎせ ゆうき @nagise

@nobeans なるほど、テストのレベル感で価値観の重み付けが変わるから、採用言語を変えれる可能性はありますね

2011-11-15 17:43:49
Hideki Kishida @quicy

システムテストは、ユニットテストの場合と、システム~テスト間プロトコルが違いますからね。

2011-11-15 17:43:51
Yasuharu Nakano @nobeans

とにかくEclipseのQuickFixによるコード生成プロセスが強力すぎるので、その1点のみで、現時点ではユニットテストはJavaで書く方がいいという結論

2011-11-15 17:48:55
Yasuharu Nakano @nobeans

マルチリンガルな世界で、言語間でのフルセットリファクタリング(現状でも一部のリファクタリングは対応してたりする)&QuickFixが可能になったら良いな

2011-11-15 17:50:12