woocommerce/qit-cli

A command line interface for WooCommerce Quality Insights Toolkit (QIT).


README

QIT CLI

QIT CLI Code tests

Managed Tests

QIT Self-Tests - Activation QIT Self-Tests - API QIT Self-Tests - E2E QIT Self-Tests - PHPStan QIT Self-Tests - Security QIT Self-Tests - PHPCompatibilityWP QIT Self-Tests - Malware QIT Self-Tests - Validation

Custom Tests

QIT Self-Tests - Custom Tests QIT Orchestration Tests

Test Environment

QIT Environment Test - Linux QIT Environment Dangling Test

WooCommerce

Quality Insights Toolkit (QIT)

QIT is a testing platform for WordPress Plugins and Themes developed by WooCommerce, designed to simplify and streamline your testing process. We are currently in closed beta operating only in the Woo Marketplace.

Managed Tests

Run tests out-of-the box with zero configuration.

  • Woo E2E Test - Runs WooCommerce End-to-End tests alongside your extension.
  • Woo API Test - Runs WooCommerce API tests with your extension.
  • Activation Test - Activates your plugin and logs any PHP notice, warning, and error.
  • Security Test - Scan your plugin for adherence to best practices in writing secure code.
  • PHPStan Test - Run PHPStan checks to catch issues early.
  • PHP Compatibility Test - Run PHPCompatibility tests to detect issues with different PHP versions.
  • Malware Test - Scan your code with the Malware check.
  • Performance Tests (Work-in-progress)

Custom E2E Tests (Early Access)

Write your own E2E tests using frameworks such as Playwright, or leverage pre-built tests to effortlessly increase your test coverage.

Read more about Custom E2E Tests.

Local Test Environment (Early Access)

Fast, disposable and configurable test environment designed to do one thing well: Run tests.

Our Alpine-based Docker images are perfect for CI systems, while also offering native ARM64 support for Apple Silicon and optimized Docker volumes for faster performance on Mac, Linux, and Windows WSL for local tests.

Read more about the Local Test Environment.

And much more:

  • Configurable Environment: Configurable PHP, WordPress, WooCommerce versions, and more.
  • In-Depth Analysis: Tracks all PHP notices, warnings, and errors during testing.
  • Development & Published Versions: Test with both development and published versions of your plugins.
  • GitHub Integration: Integrate QIT into your PR reviews with GitHub Actions.
  • Test Reports: Detailed test reports to help you understand the results.
  • Notifications: Stay informed with test result notifications.

Documentation

For more detailed information on QIT and how to use it, refer to the documentation.

Qit Quick Demo

Installing QIT

  1. Run composer require woocommerce/qit-cli --dev
  2. Execute ./vendor/bin/qit to authenticate with your WooCommerce.com Partner Developer account.

You can use these parameters individually or in combination to create different scenarios for your tests. Run qit run:<test-type> --help to see all the available options. Different test types will have different options to choose from.

Can I use QIT?

Most features of QIT requires you to log-in as a Partner Developer of the WooCommerce.com Marketplace, but we have plans to open it to all developers in the future.

The QIT Local Test Environment does not require you to be connected to WooCommerce.com, although to install WooCommerce.com Premium plugins and themes on your test environment you will need to be connected as a Partner Developer of the Woo.com Marketplace (and have access to the extensions you want to test).

Support

If you need help with QIT, open an issue on this GitHub repository.