Jun 16, 2019
In my previous blog post on Running Cypress tests with TestContainers for a Spring Boot with Thymeleaf application, I explained how to run Cypress tests as part of a JUnit test. However, the example did not actually fail the test if there are test failures in Cypress. Oops :-)
In order to do that, we can use the support that Testcontainers has for watching the log output and parse that.
Read More...
Jun 15, 2019
UPDATE: The full test class code in this post does not actually fail the test when the Cypress tests fail. See my updated example at ./blog/2019/06/16/ensure-junit-test-fails-when-cypress-tests-fail/[Ensure JUnit test fails when Cypress tests fail].
At the last ng-be conference I saw a demo of Cypress. Cypress allows to do functional testing of your web application, quite similar to Selenium for example, but still quite different.
Ever since that time, I wanted to try it out, but never got around to it until this week.
Read More...
Feb 21, 2019
I am announcing a new open-source project I am working on: BIOB
It is still very early days, but there is already a fully functional local file system implementation and an in-memory implementation for testing. See https://github.com/wimdeblauwe/biob for full details and a usage example on how to use the library in your own project.
It does not depend on Spring or Spring Boot, but I have used it in that context so far because that is what I use for all of my projects.
Read More...
Dec 24, 2018
You can download an updated version of my book 'Practical Guide to Building an API Back End with Spring Boot' from InfoQ: https://www.infoq.com/minibooks/spring-boot-building-api-backend
The changelog can be viewed at https://wimdeblauwe.wordpress.com/my-spring-boot-book/
Read More...
Sep 26, 2018
I have written about switching JDK versions on your mac before. With JDK 11 now being out, it is time to give an updated version.
Read More...
Sep 10, 2018
I am so happy because today my Spring Boot book is finally available! See https://www.infoq.com/minibooks/spring-boot-building-api-backend for all the details.
Read More...
Aug 30, 2018
Spring Boot 1.5.x uses Flyway 3 while Spring Boot 2.x uses Flyway 5. According to the official migration guide for Spring Boot 2, you need to do 2 releases to be able to migrate an application from Spring Boot 1 to Spring Boot 2 if you are using Flyway:
First upgrade your 1.5.x Spring Boot application to Flyway 4 (4.2.0 at the time of writing), see the instructions for Maven and Gradle.
Read More...
Jul 6, 2018
If you have an application deployed on AWS Elastic Beanstalk and you want to add Datadog integration to it, then these instructions might help you out.
I started out with the instructions at https://www.datadoghq.com/blog/deploy-datadog-aws-elastic-beanstalk/ but they use the older version 5 of the datadog-agent and not the newer version 6.
In your source code, you normally have a .ebextensions folder to configure the Elastic Beanstalk deployment. Inside that folder, create the following files (Create directories as needed):
Read More...
Jun 10, 2018
During the migration of a Spring Boot application from 1.5.13 to 2.0.2, some of my Spring Rest Docs tests started failing. The reason being that some of my RestController s return a org.springframework.data.domain.PageImpl object (from Spring Data Commons).
@RestController public class MyRestController { @GetMapping public PageImpl<SomeDtoObject> listAll() { ... } } With Spring Boot 1.5.13, this results in JSON like this:
{ "content": [ { ... }, { ... }, .
Read More...
Oct 8, 2017
I love using Asciidoctor for writing documentation. I mainly got to know it through the excellent Spring REST Docs project.
I wanted to build an extension (kind of a plug-in) for Asciidoctor. As I don’t know Ruby, writing an extension in Ruby was a bit too much. Luckily, there is AsciidoctorJ (The JVM version of Asciidoctor) which lets me write extensions in any JVM language. Here, we will be using plain Java, but Groovy for example would work equally well.
Read More...