PactBuilderDSL - A Contract Testing helping library

PactBuilderDSL - A Contract Testing helping library

January 25, 2024

Have you ever worked on or developed contract testing with Pact? If so, you are probably familiar with the following situation: Writing body validations can be a HUGE task, often resulting in a substantial amount of repetitive code.

With this context in mind, the QE & OS3 teams have joined forces to provide the contract testing community with a code-generation tool to simplify everyone's lives: PactBuilderDSL. This library allows you to annotate your Java classes and auto-generate the body validation code, transforming your code from lengthy and complex to simple and concise with just a few annotations.

body.webp

PactBuilderDSL is not only a time-saving tool for developers but is also expected to ease the adoption of contract testing methodologies. It simplifies the learning curve and reduces the intimidation factor associated with creating "body-validation creation classes" that can easily be up to 800 lines long.

Keep in mind that at SNGULAR, our role in contract testing goes beyond offering PactFlow as a platform. We are committed to leading the onboarding process for this methodology. This includes training and supporting teams and “evangelizing” about this testing technique. So, one of the first beneficiaries of this library will be our own teams. You can learn more about how we’re working with our clients in our article series: Road to PactFlow Enterprise.

The first version of PactBuilderDSL was released last week, and we are actively working to enhance its stability and expand its functionality. You can access the library and start experimenting with it using the following links:

GitHub: https://github.com/sngular/pact-annotation-processor Maven central: https://central.sonatype.com/artifact/com.sngular/pact-annotation-processor

If you are interested in learning more about PactBuilderDSL, we presented the library at a past Pactober event, and you can watch the talk on YouTube here: https://www.youtube.com/watch?v=whXaNti7PSg

Thank you for reading!


Our latest news

Interested in learning more about how we are constantly adapting to the new digital frontier?

Memory management in Swift
Memory management in Swift

Tech Blog

May 10, 2024

Memory management in Swift

Accessibility in applications
Accessibility in applications

Tech Blog

May 7, 2024

Accessibility in applications

Contract testing vs functional testing
Contract testing vs functional testing

Tech Blog

May 7, 2024

Contract testing vs functional testing

Leave a mark on people, not on the planet
Leave a mark on people, not on the planet

Insight

April 16, 2024

Leave a mark on people, not on the planet