ABQ versus Knapsack Pro

The following table compares ABQ to Knapsack (free) and Knapsack Pro. The ABQ features apply to ABQ under both Self Hosting and Managed Hosting.

This comparison is not exhaustive, and may change over time.

ABQKnapsackKnapsack Pro
Dynamic test distribution
Automated retries
Manual retries
Multiple test runners on one machine1
Test result aggregation
Supports custom test frameworks
Runs on developer machines2
Encrypted network connections

The following table lists the existing integrations available for ABQ and Knapsack Pro's Queue Mode. Queue Mode dynamically distributes tests, like ABQ, but supports less test frameworks than Knapsack without Queue Mode does.

ABQKnapsack Pro - Queue Mode
Ruby - RSpec
Ruby - Cucumber
Ruby - Minitest
JavaScript - Jest
JavaScript - Playwright

Migrating to ABQ

If you are using Knapsack, you likely already have multiple jobs set up to execute tests on your CI. That's great - that's an important step to a successful ABQ integration!

We recommend:

  1. Installing the appropriate test framework plugin

  2. Recovering the test command you use to run your test suite locally. This may be different from how your test suite is configured to run with Knapsack, as Knapsack sometimes uses a different test resolution logic than your test framework might - for example, via KNAPSACK_PRO_TEST_FILE_PATTERN.

  3. prepending abq test -- to the recovered test command.

  4. After this works, consider reading the framework-specific documentation to get the most out of abq.

See Getting Started with ABQ for more details.

Footnotes

  1. Knapsack Pro supports multiple test runners with Ruby's parallel_tests, but does not natively support multiple runners like ABQ does with abq test -n <num-runners>.

  2. Knapsack Pro is not designed for local use.