Lambda Behave
A modern testing and behavioural specification
framework for Java 8
@richardwarburto
Talk Outline
Problems & Motivation
Live Coding Examples
Summary
Testing Frameworks in 2014
Junit
testingReadability
junitTestsAreMethodAndClassNames
aCommonProblemIsTestReadability
wantToWriteTestsInTheLanguageOfTheBusinessDomain
using_underscores_is_actually_worse
alsoPoorSupportForParameterizedTests
Cucumber
1. Write a feature description in business domain terms
2. Regex that some text in order to execute code
We can do better!
s/better/Lambda Behave/
<LIVE CODING />
Conclusions & Summary
Future Improvements
● ScalaTest Integration
● Plugin API
○ Support for Spring & Vertx
● Improved generators & mocking
● HTML Reports
● Expectation logs
● Heisentest Generator
● Support parallel runners
● Support concurrent tests better
Summary
● Existing testing solutions either unreadable or
convoluted
● Lambda Behave offers a fluent and modern testing
style
● Rapidly adding features
○ Help welcome and wanted!
○ Github issues + pull requests
○ https://github.com/RichardWarburton/lambda-
behave
Links & Info
Project Website:
http://richardwarburton.github.io/lambda-behave/
Maven Central Coordinates
com.insightfullogic:lambda-behave:0.2
Book
http://tinyurl.com/java8lambdas
Training Website
http://java8training.com/
Blog
http://insightfullogic.com
Questions?
@richardwarburto

Introduction to lambda behave