Enviar pesquisa
Carregar
Spekではじめるユニットテスト
•
0 gostou
•
9,743 visualizações
Recruit Lifestyle Co., Ltd.
Seguir
R.kt #1の発表資料です
Leia menos
Leia mais
Engenharia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 24
Baixar agora
Baixar para ler offline
Recomendados
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Kazuo Asano (@kazuo_asa)
Recomendados
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Kazuo Asano (@kazuo_asa)
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
Yuki Hirano
サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情
Shinya Mochida
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
増田 亨
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
torisoup
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう
hirooooo
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解
都元ダイスケ Miyamoto
こわくない Git
こわくない Git
Kota Saito
Unityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
torisoup
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
日本マイクロソフト株式会社
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編
Unity Technologies Japan K.K.
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発
Ryosuke Izumi
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
torisoup
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
Chunked encoding を使った高速化の考察
Chunked encoding を使った高速化の考察
Yoshiki Shibukawa
UniTask入門
UniTask入門
torisoup
世界一わかりやすいClean Architecture release-preview
世界一わかりやすいClean Architecture release-preview
Atsushi Nakamura
Introduction to guard + rspec
Introduction to guard + rspec
koko_u
Sbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
Yoshitaka Fujii
Mais conteúdo relacionado
Mais procurados
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
Yuki Hirano
サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情
Shinya Mochida
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
増田 亨
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
torisoup
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう
hirooooo
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解
都元ダイスケ Miyamoto
こわくない Git
こわくない Git
Kota Saito
Unityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
torisoup
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
日本マイクロソフト株式会社
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編
Unity Technologies Japan K.K.
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発
Ryosuke Izumi
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
torisoup
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
Chunked encoding を使った高速化の考察
Chunked encoding を使った高速化の考察
Yoshiki Shibukawa
UniTask入門
UniTask入門
torisoup
世界一わかりやすいClean Architecture release-preview
世界一わかりやすいClean Architecture release-preview
Atsushi Nakamura
Mais procurados
(20)
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
インタフェース完全に理解した
インタフェース完全に理解した
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解
こわくない Git
こわくない Git
Unityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Chunked encoding を使った高速化の考察
Chunked encoding を使った高速化の考察
UniTask入門
UniTask入門
世界一わかりやすいClean Architecture release-preview
世界一わかりやすいClean Architecture release-preview
Semelhante a Spekではじめるユニットテスト
Introduction to guard + rspec
Introduction to guard + rspec
koko_u
Sbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
Yoshitaka Fujii
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
Atsuhiro Kubo
Storyboard
Storyboard
Yukihiko Kagiyama
Scalaの現状と課題
Scalaの現状と課題
Kota Mizushima
Scala Daysに行ってみて
Scala Daysに行ってみて
Kota Mizushima
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
Atomu Hidaka
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
Atsuhiro Kubo
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
@nukokusa_botを支える技術
@nukokusa_botを支える技術
Joe_noh
Scalaでのプログラム開発
Scalaでのプログラム開発
Kota Mizushima
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
Atsuhiro Kubo
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
You&I
LT駆動開発04 5分では分からないTypeScriptのなんとか
LT駆動開発04 5分では分からないTypeScriptのなんとか
Kazuya Matsubara
プロトコル拡張の話? #WWDC21cafe
プロトコル拡張の話? #WWDC21cafe
Tomohiro Kumagai
Spring tools4
Spring tools4
Takuya Iwatsuka
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
短絡的に作るRuby DSL 公開版
短絡的に作るRuby DSL 公開版
bash0C7
日々の作業を自動化してみる
日々の作業を自動化してみる
ssuser36ee61
197x Timer with Your Messages
197x Timer with Your Messages
Kuniaki Igarashi
Semelhante a Spekではじめるユニットテスト
(20)
Introduction to guard + rspec
Introduction to guard + rspec
Sbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
Storyboard
Storyboard
Scalaの現状と課題
Scalaの現状と課題
Scala Daysに行ってみて
Scala Daysに行ってみて
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
@nukokusa_botを支える技術
@nukokusa_botを支える技術
Scalaでのプログラム開発
Scalaでのプログラム開発
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
LT駆動開発04 5分では分からないTypeScriptのなんとか
LT駆動開発04 5分では分からないTypeScriptのなんとか
プロトコル拡張の話? #WWDC21cafe
プロトコル拡張の話? #WWDC21cafe
Spring tools4
Spring tools4
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
短絡的に作るRuby DSL 公開版
短絡的に作るRuby DSL 公開版
日々の作業を自動化してみる
日々の作業を自動化してみる
197x Timer with Your Messages
197x Timer with Your Messages
Mais de Recruit Lifestyle Co., Ltd.
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
Recruit Lifestyle Co., Ltd.
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
Recruit Lifestyle Co., Ltd.
OOUIを実践してわかった、9つの大切なこと
OOUIを実践してわかった、9つの大切なこと
Recruit Lifestyle Co., Ltd.
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
Recruit Lifestyle Co., Ltd.
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
Recruit Lifestyle Co., Ltd.
「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理
Recruit Lifestyle Co., Ltd.
Air事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナー
Recruit Lifestyle Co., Ltd.
リクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチ
Recruit Lifestyle Co., Ltd.
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
Recruit Lifestyle Co., Ltd.
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
Recruit Lifestyle Co., Ltd.
データから価値を生み続けるには
データから価値を生み続けるには
Recruit Lifestyle Co., Ltd.
データプロダクト開発を成功に導くには
データプロダクト開発を成功に導くには
Recruit Lifestyle Co., Ltd.
Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤
Recruit Lifestyle Co., Ltd.
SQLを書くだけでAPIが作れる基盤
SQLを書くだけでAPIが作れる基盤
Recruit Lifestyle Co., Ltd.
BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方
Recruit Lifestyle Co., Ltd.
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
Recruit Lifestyle Co., Ltd.
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
Recruit Lifestyle Co., Ltd.
ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡
Recruit Lifestyle Co., Ltd.
Refactoring point of Kotlin application
Refactoring point of Kotlin application
Recruit Lifestyle Co., Ltd.
Mais de Recruit Lifestyle Co., Ltd.
(20)
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
OOUIを実践してわかった、9つの大切なこと
OOUIを実践してわかった、9つの大切なこと
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理
Air事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナー
リクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチ
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
データから価値を生み続けるには
データから価値を生み続けるには
データプロダクト開発を成功に導くには
データプロダクト開発を成功に導くには
Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤
SQLを書くだけでAPIが作れる基盤
SQLを書くだけでAPIが作れる基盤
BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡
Refactoring point of Kotlin application
Refactoring point of Kotlin application
Spekではじめるユニットテスト
1.
Spekではじめるユニットテスト Ippei Nawate @R.kt
#1 2017/10/04
2.
自己紹介 - Ippei Nawate -
Software Developer - Android(Java, Kotlin) - Ruby - 筑波大学(~ 2016/03) - リクルートライフスタイル(2016/04~) - Hotpepper Beauty for Android
3.
http://spekframework.org/
4.
Spek? - Kotlin製のSpecification Framework -
https://github.com/JetBrains/spek - v1.1.5 - そろそろv2.0が出そう - https://github.com/JetBrains/spek/milestone/3 - JetBrains非公式(!) - JUnit Platform(JUnit 5)上で動作する - RSpecライクなDSL(describe, on, it ...)を使ってテストケースを記述
5.
Spek?
6.
JUnit5 JUnit Platform TestEngine(Interface) JUnit Vintage
JUnit Jupiter Spek Next Generation Of JUnit
7.
JUnit5 @RunWith(JUnitPlatform::class) TestEngine(Interface) JUnit Vintage JUnit
Jupiter Spek Next Generation Of JUnit JUnit4
8.
JUnit 5? - Next
generation of JUnit - JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage - JUnit Platform - テスト実行基盤を提供 - TestEngineという仕組みを通じてテストケースの収集と実行を行う - JUnit Jupiter - JUnit 5での新しいテストプログラミングモデル (+それを実行するための TestEngine)を提 供 - JUnit Vintage - JUnit3, 4のテストコードをJUnit Platform上で実行するための TestEngineを提供
9.
JUnit 5? - JUnit3,
4上でTestEngineを動かすことも出来る - テストクラスに@RunWith(JUnitPlatform::class)を指定する - JUnitPlatform::class == TestRunner - Androidではこれを使ってSpekを動かす必要がある(*1) *1: https://github.com/aurae/android-junit5 を使ってJupiter形式のテストを実行することは可 能(ただしSpekと組み合わせることはできない模様 )
10.
テストの書き方
11.
1. テストクラスにSpekを継承させる 2. Spekのコンストラクタに渡すクロー ジャ内にテストを記述 3.
DSLを利用してテストを記述 a. describe, given, contextを使ってテストを グルーピングしていく b. it内に実際の検証処理を記述 c. 各テストの前/後処理は before/afterEachTestに記述 i. JUnitで言うsetup/teardown 基本
12.
Q&A - JUnit
4と比較して Q. TestRule相当のものはあるの? A. TestLifecycleListenerという仕組みがある。ただし@ClassRuleのような使い方は できない。 Q. 独自ベースクラス作れる? A. 作れるけど少し特殊(後述) Q. カバレッジ測れる? A. これまで通りJacocoで測れます
13.
独自ベースクラスの作り - Spekのテストクラスは以下2つから構成される - Spek:テストのベースクラス -
Spec:テストのDSLを定義するインターフェース - それぞれを拡張する必要がある Spec.() -> Unit型のクロージャ
14.
独自ベースクラス
15.
ベースクラス
16.
パラメタライズドテスト ● for文で気軽に書ける ● 関数(it)呼び出し
== 1テストケース なので入力毎にテストケースが独立 ● data-driven-extensionを使う手もある ○ https://github.com/JetBrains/spek/tree/m aster/spek-data-driven-extension
17.
Spekのハマりどころ
18.
1. 変数スコープ
19.
Spekのハマりどころ - 1.
変数のスコープ 右のテストは失敗します
20.
Spekのハマりどころ - 1.
変数のスコープ A. テストケースの収集と実行のフェーズが分かれているから ① 収集 ② 実行
21.
2. テストの探索
22.
Spekのハマりどころ - 2.
テストの探索 このテストはパスします
23.
Spekのハマりどころ - 1.
変数のスコープ - 探索フェーズで例外が起きると無視される - 警告: TestEngine with ID 'spek' failed to discover tests - ↑↑が標準エラーに吐かれるだけ - SpekじゃなくててJUnit 5の仕様(不具合?)っぽい - https://github.com/junit-team/junit5/issues/242 - https://github.com/junit-team/junit5/issues/750 - 5.1で修正予定らしい A. 「テストケースが見つかりませんでした」扱いになるから
24.
まとめ - pros - JUnit
4でできてたことは大体できる - 条件部と検証部が分離されて読みやすい - ネストさせることで、共通の条件部を自然に書ける - パラメタライズドテストやりやすい - cons - 拡張するのにKotlinの深めの知識が求められる - 変数のスコープでハマりがち - JUnit 5自体も枯れきってない感
Baixar agora