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.
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?
October 14, 2024
PactFlow & Contract Testing: A Business Case Study
October 7, 2024
Custom Lint Task Configuration in Gradle with Kotlin DSL
September 27, 2024
Clean Architectures
September 23, 2024
Using the Secure Enclave to improve the integrity of iOS apps