Lambda Behave Framework overview

A modern testing and behavioural specification framework for Java 8
23 August 2017   1306

Framework's goal is to make testing a more pleasant experience than it currently is.

One of the goals of the framework is to achieve great readability. The syntax encourages to describe test cases using full sentences rather just a few words.


The Lambda Behave Specification design has several goals:

  • To read like plain English.
  • To encourage describing tests using long and descriptive sentences, rather than a few words.
  • An API that is fluent and discoverable nearly entirely through IDE auto-completion.

There are many, many, expectations builtin to the framework - not just isEmpty().

Every specification suite starts its declaration using the Suite.describe method. From that point onwards your IDE should be able to auto-complete the domain specific language for declaring specifications, but just in case you want more information, here's the details.

  • If you want to specify a property about your system use it.should.
  • If you want describe an expectation of that property, use expect.that. This will get you to a fluent API restricted to the type of value that you're making the expectation about. The expectation system is based upon hamcrest. Lambda Behave doesn't compromise the ability to compose matchers in favour of fluency - if you want to compose in more complex flavours simply use expect.that(value).is() and then you can use regular Hamcrest matchers. In my experience this is a rare, albeit useful, breakout option.
  • If you want to setup or teardown data before or after each specification use it.isSetupWith and it.isConcludedWith.
  • If you want to setup or teardown data before or after each suite use it.initializesWith and it.completesWith.
  • Don't worry - I know some Java 8 lambdafied APIs don't deal with exceptions very well but you can throw exceptions in all our callbacks and the appropriate error will be reported, not just break the library.

More info available at GitHub

Microsoft to Use Chromium for Edge Browser

The company has already placed the repository on GitHub to attract new members to the development of the browser
07 December 2018   109

Microsoft Vice President Joe Belfiore said that from December 6, 2018, the company will use the Chromium engine in the Microsoft Edge browser. According to him, Microsoft also plans to develop browsers for smartphones and other devices.

The company has already placed the repository on GitHub to attract new members to the development of the browser. Microsoft expects that the transition to the new engine will be a big step in the development of Microsoft Edge. For example, the browser will finally be adapted for macOS.

According to Belfiore, the company plans to improve the project in three areas:

  • Users will get hardware integration, improved browser compatibility with sites and reduced power consumption of devices when using it.
  • Web developers will appreciate the reduced fragmentation of a web platform for testing sites.
  • The corporate IT sector will get the compatibility of old and new Windows applications that run in the browser.

He noted that during the year the company would work “under the hood” of Microsoft Edge, and named several key stages of this process. For example, the transition to a platform compatible with the Chromium engine for developing a desktop version of the browser. It is also planned that most platforms and all versions of Windows will support Microsoft Edge.