How to use the
@JsonTest test type in Spring Boot to validate your JSON types correctly serialise/deserialise.
Default Your Tests to run in Parallel (2 mins read).
Discussing the benefits you can achieve by having parallel-by-default.
Writing Better Wiremock Stubs (3 mins read).
How to improve the specificity of Wiremock tests to allow for not clobbering other scenarios, and enabling scalable test runs.
Writing Better Tests (1 mins read).
Announcing a new series of posts about improving the way we write tests.
How to exclude Logback from the classpath when testing your logs using slf4j-test and Maven.
How to match Wiremock's stubs without running an HTTP Server.
How to adapt the Proxy pattern to allow for testing against a versioned API.
Speeding Up Gradle Executions with Parallelisation (2 mins read).
How to make your Gradle builds faster, by taking advantage of parallelisation.
Testing Time with Java (4 mins read).
How to make your Java tests better when dealing with
Writing Environment-Agnostic Functional Acceptance Tests (7 mins read).
How to structure your (Java) functional acceptance tests to make it easier to add environment-specific configuration.
This is something I strive quite hard to ensure, using tools like html-proofer and comparing against old sitemaps when I change things considerably with my site. It's also something that is quite infuriating when following links to a site that has now rewritten their URLs, so I've learned from that too!
Recommended read: Don't ever break a URL if you can help it https://www.hanselman.com/blog/dont-ever-break-a-url-if-you-can-help-it
Recommended read: Practical Contract Testing with Spring Cloud Contract by Oleksandr Romanov - YouTube https://youtube.com/watch?v=_AYfxXJ7o20
Unit Testing Auth0 Rules (8 mins read).
How to write unit tests for your Auth0 Rules, without running it on an Auth0 tenant.
Recommended read: Bootiful Testing, by Josh Long / JetBrains Technology Day for Java (2020) https://youtu.be/RrgL7_AW6S4
DevOpsDays London 2019 (63 mins read).
A writeup of the DevOpsDays London conference, and the talks and Open Spaces I attended.
Testing Your SLF4J Logs (2 mins read).
Looking at how we would unit test our SLF4J logs to gain confidence they work, and to catch regressions in the future.
This post has definitely helped my recent scenario writing, and helped to shape the readability (and purpose) of the Cucumber testing I've been doing.
Recommended read: Effective API testing with Cucumber https://www.gregbeech.com/2014/01/19/effective-api-testing-with-cucumber/
Notts Techfast: What do testers even do all day? (6 mins read).
A writeup and some thoughts about Dan Caseley's talk at Notts Techfast.
Prettier HTML Reports for Cucumber-JVM (2 mins read).
How to generate prettier HTML reports for Cucumber with
cucumber-reporting-plugin, with and without Jenkins.
TYKJS Middleware Gotcha When Base 64 Decoding Data (3 mins read).
How to workaround the
Failed to base64 decode: illegal base64 data at input byte error when trying to use
b64dec in TYKJS middleware.
Unit Testing Your TYK (TYKJS) Middleware (6 mins read).
Why you'd want a fat JAR for your Gatling tests and how you'd achieve it.
A few reasons explaining why you should be writing unit tests for your functional tests.
Revert 'Some knowledge-sharing news' (5 mins read).
The unfortunate decision to cancel my Packt training courses.
DevOpsDays London 2018 (51 mins read).
My writeup of my first DevOpsDays conference, and the awesome talks and conversations I was part of.
Using the example of deploying and running a Java JAR file as a way to show the lifecycle of a fully test-driven Chef cookbook.
Why you'd want a fat JAR and how you'd achieve it.
Some exciting job and knowledge-sharing news (4 mins read).
Moving into Quality Engineering, publishing Chef training courses, conference speaking about Chef at OggCamp and the complex mess that is this very static website at DevOpsDays London.
Rspec code to verify that a Ruby Class Method is called from another method, without needing to mock anything.
ruby_blocks with ChefSpec (3 mins read).
Testing implementation of a
ruby_block in ChefSpec, to ensure that the code executes as expected.