top of page

PACT

Comparison Card

Aspect
Without HyperTest
With HyperTest
Scope of assertions
Units tests only verify the correctness of the code under test
Integration style tests that verify correctness of code, API response, inter service contracts, queue messages and database queries
Quality of assertions
Hand written assertions might cover or miss logical correctness
Programmatic assertions that are deeper and wider and cover every corner case
Realism of test scenarios
Build and test scenarios that devs believe they know
Builds test from real-world scenarios and covers application faster than hand written tests
PACT style contract tests
Manual effort writing contract tests and updating if contract change
Automatically generate contract tests and update if they change. Manual effort eliminated.
Quality of contract Tests
PACT style contract tests will catch change in schema but will miss change in data value
HyperTest generated contract tests will catch schema changes as well as change in data value
Collaboration
If producer changes the contract for the consumer, it needs to update the PACT file for the consumer fails in production
If producer updates the contract, consumer is immediately notified before producer merges to production
Resilience to Changes
Tests may become outdated and less effective as external services change without corresponding updates to test cases.
Tests remain relevant and effective over time as Hypertest adapts to changes in external services.
Test Maintenance
Requires ongoing maintenance of tests to keep pace with changes.
No maintenance. Tests and mocks are auto-generated and auto-refreshed.
Scope of testing
Limited to testing internal logic and behavior of code units. Will miss integration failures like breaking contracts b/w services
Covers integration scenarios

Prevent Logical bugs in your databases calls, queues and external APIs or services

bottom of page