Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kotlinでweld-junitを使ったら思ったように動かなかった話
Search
kazusato
September 06, 2019
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kotlinでweld-junitを使ったら 思ったように動かなかった話
2019/9/6 JJUG LT
kazusato
September 06, 2019
More Decks by kazusato
See All by kazusato
【RSGT2018】ウォーターフォール 大規模プロジェクトの中で スクラムでチーム運営をやってみた
kazusato
0
2.3k
Featured
See All Featured
Claude Code のすすめ
schroneko
67
230k
Producing Creativity
orderedlist
PRO
348
41k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
510
Odyssey Design
rkendrick25
PRO
2
800
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
The Cost Of JavaScript in 2023
addyosmani
55
10k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Transcript
Kotlinでweld-junitを使ったら 思ったように動かなかった話 @kazusato 2019/9/6 JJUGナイトセミナーLT大会
タイトル「未定」で申し込んでいて、もともとは別の話 をしようと思ってました。 が、LTタイトルの一覧を見てびっくり。 ネタがかぶってる・・・
ほかに話せるネタあるかな??? ・jibでコンテナビルドしてはまった話 ・KotlinでCDIのテストを書こうとしてはまった話 ・・・どっちもニッチな話題だなあ。。。 LTだし、まあいいか。 というわけで、KotlinでCDIのテストを書こうとしては まった話をします。
サーバーサイドKotlinだと、KtorみたいなKotlin固有のフ レームワークを使うか、Spring Bootを使う、というケー スが多いと思います。 が、ちょっと身近にJava EE(JAX-RS)で書かれた資産 がそこそこある関係で、Kotlin+JAX-RSでコードを書い てました。 Java EEなんでCDIを使っていて、デプロイせずにテスト
したいよなーということで、weld-junitを使おうとしまし た。
weld-junit The primary goal of this project is to provide
simple and fast tools for CDI unit/component testing. The tools are implemented as JUnit 4 and JUnit 5 extensions. Supports Weld 2.4 (CDI 1.2) and 3.0 (CDI 2.0).
最初はWeldJunit5Extensionを使ってみた Javaのサンプルコードを見ながら、Kotlinで書いてみた。
しかし・・・動かない!!! インジェクションされない! (メッセージに出ているのはほかのクラスだけど、そもそもインジェクショ ンが機能してない)
なんで? いくら考えてもわからないので、とりあえずもう一つの方法を試した ら・・・ 動いた!
というわけで、テストはなんとかなったんですが、なんか気持ち悪い。 ちなみに、Javaで書くと当然動く。
なんで? バイトコードを見てみると・・・ Java Kotlin なんだこれ?
コンパイラーのソースを読んでみたら・・・