Submit Search
Upload
Spek
•
1 like
•
612 views
哲偉 楊
Follow
kotlin specification testing framework
Read less
Read more
Engineering
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 9
Download now
Download to read offline
Recommended
Specification unit test by Spek
Specification unit test by Spek
哲偉 楊
Talk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about Docker
Wellington Silva
Build, logging, and unit test tools
Build, logging, and unit test tools
Allan Huang
Ansible+docker (highload++2015)
Ansible+docker (highload++2015)
Pavel Alexeev
Масштабируя TLS / Артём Гавриченков (Qrator Labs)
Масштабируя TLS / Артём Гавриченков (Qrator Labs)
Ontico
Continuous Integration on Steroids
Continuous Integration on Steroids
Alexander Akbashev
Tech Talk #4 : Multi - threading and GCD ( grand central dispatch ) in iOS - ...
Tech Talk #4 : Multi - threading and GCD ( grand central dispatch ) in iOS - ...
Nexus FrontierTech
Spock Framework (Java Day BY 2015)
Spock Framework (Java Day BY 2015)
katoquro
Recommended
Specification unit test by Spek
Specification unit test by Spek
哲偉 楊
Talk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about Docker
Wellington Silva
Build, logging, and unit test tools
Build, logging, and unit test tools
Allan Huang
Ansible+docker (highload++2015)
Ansible+docker (highload++2015)
Pavel Alexeev
Масштабируя TLS / Артём Гавриченков (Qrator Labs)
Масштабируя TLS / Артём Гавриченков (Qrator Labs)
Ontico
Continuous Integration on Steroids
Continuous Integration on Steroids
Alexander Akbashev
Tech Talk #4 : Multi - threading and GCD ( grand central dispatch ) in iOS - ...
Tech Talk #4 : Multi - threading and GCD ( grand central dispatch ) in iOS - ...
Nexus FrontierTech
Spock Framework (Java Day BY 2015)
Spock Framework (Java Day BY 2015)
katoquro
Finding Needles in Haystacks
Finding Needles in Haystacks
snyff
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and Kibana
Prajal Kulkarni
Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB
Gaurav Bhardwaj
Postgres level up
Postgres level up
Fabio Telles Rodriguez
Kotlin - A very quick introduction
Kotlin - A very quick introduction
Mike Harris
Ruxmon feb 2013 what happened to rails
Ruxmon feb 2013 what happened to rails
snyff
Getting Started with PureScript
Getting Started with PureScript
John De Goes
Mobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und Kibana
inovex GmbH
Dive into sentry
Dive into sentry
Leo Zhou
Monitoring with ElasticSearch
Monitoring with ElasticSearch
Kris Buytaert
JBoss Fuse Workshop 101 part 5
JBoss Fuse Workshop 101 part 5
Christina Lin
Easy access to open stack object storage
Easy access to open stack object storage
Juan José Martínez
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
Gluster.org
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
Docker-Hanoi
Jordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISA
guest4c923d
New Features Of JDK 7
New Features Of JDK 7
Deniz Oguz
Introduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release update
Alex Pop
JRuby e DSL
JRuby e DSL
jodosha
Spock
Spock
Naiyer Asif
Eclipse Pdt2.0 26.05.2009
Eclipse Pdt2.0 26.05.2009
Bastian Feder
XML parsing using jaxb
XML parsing using jaxb
Malintha Adikari
Quick tour to front end unit testing using jasmine
Quick tour to front end unit testing using jasmine
Gil Fink
More Related Content
What's hot
Finding Needles in Haystacks
Finding Needles in Haystacks
snyff
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and Kibana
Prajal Kulkarni
Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB
Gaurav Bhardwaj
Postgres level up
Postgres level up
Fabio Telles Rodriguez
Kotlin - A very quick introduction
Kotlin - A very quick introduction
Mike Harris
Ruxmon feb 2013 what happened to rails
Ruxmon feb 2013 what happened to rails
snyff
Getting Started with PureScript
Getting Started with PureScript
John De Goes
Mobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und Kibana
inovex GmbH
Dive into sentry
Dive into sentry
Leo Zhou
Monitoring with ElasticSearch
Monitoring with ElasticSearch
Kris Buytaert
JBoss Fuse Workshop 101 part 5
JBoss Fuse Workshop 101 part 5
Christina Lin
Easy access to open stack object storage
Easy access to open stack object storage
Juan José Martínez
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
Gluster.org
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
Docker-Hanoi
What's hot
(14)
Finding Needles in Haystacks
Finding Needles in Haystacks
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and Kibana
Large Scale Log collection using LogStash & mongoDB
Large Scale Log collection using LogStash & mongoDB
Postgres level up
Postgres level up
Kotlin - A very quick introduction
Kotlin - A very quick introduction
Ruxmon feb 2013 what happened to rails
Ruxmon feb 2013 what happened to rails
Getting Started with PureScript
Getting Started with PureScript
Mobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und Kibana
Dive into sentry
Dive into sentry
Monitoring with ElasticSearch
Monitoring with ElasticSearch
JBoss Fuse Workshop 101 part 5
JBoss Fuse Workshop 101 part 5
Easy access to open stack object storage
Easy access to open stack object storage
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
Similar to Spek
Jordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISA
guest4c923d
New Features Of JDK 7
New Features Of JDK 7
Deniz Oguz
Introduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release update
Alex Pop
JRuby e DSL
JRuby e DSL
jodosha
Spock
Spock
Naiyer Asif
Eclipse Pdt2.0 26.05.2009
Eclipse Pdt2.0 26.05.2009
Bastian Feder
XML parsing using jaxb
XML parsing using jaxb
Malintha Adikari
Quick tour to front end unit testing using jasmine
Quick tour to front end unit testing using jasmine
Gil Fink
Php Development With Eclipde PDT
Php Development With Eclipde PDT
Bastian Feder
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console
Carsten Ziegeler
Monitoring OSGi Applications with the Web Console - Carsten Ziegeler
Monitoring OSGi Applications with the Web Console - Carsten Ziegeler
mfrancis
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console
Adobe
Trust, but verify | Testing with Docker Containers
Trust, but verify | Testing with Docker Containers
Nan Liu
PostgreSQL and PL/Java
PostgreSQL and PL/Java
Peter Eisentraut
Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)
Yevgeniy Brikman
Into The Box 2018 Going live with commandbox and docker
Into The Box 2018 Going live with commandbox and docker
Ortus Solutions, Corp
Going live with BommandBox and docker Into The Box 2018
Going live with BommandBox and docker Into The Box 2018
Ortus Solutions, Corp
Testing NodeJS with Mocha, Should, Sinon, and JSCoverage
Testing NodeJS with Mocha, Should, Sinon, and JSCoverage
mlilley
First adoption hackathon at BGJUG
First adoption hackathon at BGJUG
Ivan Ivanov
Play framework
Play framework
Andrew Skiba
Similar to Spek
(20)
Jordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISA
New Features Of JDK 7
New Features Of JDK 7
Introduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release update
JRuby e DSL
JRuby e DSL
Spock
Spock
Eclipse Pdt2.0 26.05.2009
Eclipse Pdt2.0 26.05.2009
XML parsing using jaxb
XML parsing using jaxb
Quick tour to front end unit testing using jasmine
Quick tour to front end unit testing using jasmine
Php Development With Eclipde PDT
Php Development With Eclipde PDT
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console - Carsten Ziegeler
Monitoring OSGi Applications with the Web Console - Carsten Ziegeler
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console
Trust, but verify | Testing with Docker Containers
Trust, but verify | Testing with Docker Containers
PostgreSQL and PL/Java
PostgreSQL and PL/Java
Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)
Into The Box 2018 Going live with commandbox and docker
Into The Box 2018 Going live with commandbox and docker
Going live with BommandBox and docker Into The Box 2018
Going live with BommandBox and docker Into The Box 2018
Testing NodeJS with Mocha, Should, Sinon, and JSCoverage
Testing NodeJS with Mocha, Should, Sinon, and JSCoverage
First adoption hackathon at BGJUG
First adoption hackathon at BGJUG
Play framework
Play framework
More from 哲偉 楊
Code kata 的自我修煉
Code kata 的自我修煉
哲偉 楊
Coding dojo
Coding dojo
哲偉 楊
輕輕鬆鬆產生 changelog
輕輕鬆鬆產生 changelog
哲偉 楊
Speed up add custom marker on google map
Speed up add custom marker on google map
哲偉 楊
Jenkins for android developer at TWJUG
Jenkins for android developer at TWJUG
哲偉 楊
自己的 Jenkins 自己來 for Android developer
自己的 Jenkins 自己來 for Android developer
哲偉 楊
從開發到上線的華麗大冒險
從開發到上線的華麗大冒險
哲偉 楊
Kotlin初體驗
Kotlin初體驗
哲偉 楊
Kotlin 初體驗
Kotlin 初體驗
哲偉 楊
Unit test and ui testing with cucumber
Unit test and ui testing with cucumber
哲偉 楊
RxJava With retrolambda
RxJava With retrolambda
哲偉 楊
ORMLite Android
ORMLite Android
哲偉 楊
設計師合作經驗分享
設計師合作經驗分享
哲偉 楊
Dog point
Dog point
哲偉 楊
Gson
Gson
哲偉 楊
Hybrid design with bootstrap
Hybrid design with bootstrap
哲偉 楊
More from 哲偉 楊
(16)
Code kata 的自我修煉
Code kata 的自我修煉
Coding dojo
Coding dojo
輕輕鬆鬆產生 changelog
輕輕鬆鬆產生 changelog
Speed up add custom marker on google map
Speed up add custom marker on google map
Jenkins for android developer at TWJUG
Jenkins for android developer at TWJUG
自己的 Jenkins 自己來 for Android developer
自己的 Jenkins 自己來 for Android developer
從開發到上線的華麗大冒險
從開發到上線的華麗大冒險
Kotlin初體驗
Kotlin初體驗
Kotlin 初體驗
Kotlin 初體驗
Unit test and ui testing with cucumber
Unit test and ui testing with cucumber
RxJava With retrolambda
RxJava With retrolambda
ORMLite Android
ORMLite Android
設計師合作經驗分享
設計師合作經驗分享
Dog point
Dog point
Gson
Gson
Hybrid design with bootstrap
Hybrid design with bootstrap
Recently uploaded
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
JIT KUMAR GUPTA
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
NadaHaitham1
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
MairaAshraf6
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
meghakumariji156
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Computer Networks Basics of Network Devices
Computer Networks Basics of Network Devices
ChandrakantDivate1
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
sarkmank1
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
selvakumar948
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
vanyagupta248
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
maisarahman1
Thermal Engineering Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
DineshKumar4165
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
DineshKumar4165
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
drmkjayanthikannan
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
NANDHAKUMARA10
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
Omar Fathy
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
JiananWang21
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
SCMS School of Architecture
Recently uploaded
(20)
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Computer Networks Basics of Network Devices
Computer Networks Basics of Network Devices
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
Thermal Engineering Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
Spek
1.
SPEK SPECIFICATION TESTING
DSL LIBRARY andyang@Android Taipei
2.
SPEK ➤ Write in
kotlin ➤ Specification Testing DSL Library ➤ not assertion library (JUnit4/5) ➤ not mock library (mockito, mockk) ➤ Support style ➤ Specification (like RSpec) ➤ Gherkin ➤ Support Android & JVM
3.
SPECIFICATION DSL ➤ describe
(“description”){} ➤ context(“context”){} ➤ it(“assertion”){} ➤ skipping test ➤ prefix with x ➤ xdescribe ➤ xcontext ➤ xit
4.
GHERKIN DSL ➤ Feature(“feature”){} ➤
Scenario(“scenario”){} ➤ Given(“arrange”){} -> arrange ➤ When(“act”){} -> act ➤ Then(“assertion”) -> assertion ➤ And(“more”) -> more
5.
HOW TO START ➤
Step 1 extends Spek ➤ Step 2 describe your context & assertion and done.
6.
MORE FEATURE ➤ Common
DSL ➤ group {} ➤ beforeGroup {} ➤ afterGroup {} ➤ beforeEachTest -> JUnit @Before setUp function ➤ afterEachTest -> JUnit @After teatDown function
7.
MORE FEATURE ➤ make
instance unique for each test ➤ before ➤ after using delegate memoized
8.
SAMPLE PROJECT ➤ Todo
list sample ➤ kotlin ➤ koin ➤ rxjava2 ➤ redux ➤ pure domain module ➤ https://github.com/bng86/ReduxTodo
9.
“WE’RE HIRING https://pklotcorp.mit.jobs/
Download now