Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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.4k
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
How STYLIGHT went responsive
nonsquared
100
6.3k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
450
KATA
mclloyd
PRO
35
15k
Ruling the World: When Life Gets Gamed
codingconduct
0
330
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
500
Why Our Code Smells
bkeepers
PRO
340
58k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Code Reviewing Like a Champion
maltzj
528
40k
Documentation Writing (for coders)
carmenintech
77
5.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
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 なんだこれ?
コンパイラーのソースを読んでみたら・・・