woocommerce / qit-cli
A command line interface for WooCommerce Quality Insights Toolkit (QIT).
Installs: 105 836
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 78
Forks: 2
Open Issues: 5
Requires
- php: ^7.2.5 | ^8
- ext-curl: *
- dev-trunk
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3
- 0.2.1
- 0.2
- 0.1
- dev-23-11/add-theme-self-tests
- dev-23-11/add-malware-self-test
- dev-23-09/semgrep-exclusion-selftest
- dev-23-06/ai-fixer
- dev-23-07/64ac6ac691d19-update-tests-snapshots
- dev-23-07/64ac67d755654-update-tests-snapshots
- dev-23-06/zip-with-no-parent-dir
- dev-23-03/alphanumeric-character
- dev-23-01/vendor-auth
- dev-23-01/multiple-environments
This package is auto-updated.
Last update: 2023-12-04 22:20:46 UTC
README
Overview
The Quality Insights Toolkit (QIT) is an automated testing tool developed by WooCommerce for extension developers in the Woo Marketplace. It allows you to run various types of tests on your extension in a managed environment and receive feedback on potential issues or errors.
Installing QIT
You can install QIT in three different ways:
Per Project
- Run
composer require woocommerce/qit-cli --dev
- Execute
./vendor/bin/qit
to authenticate with your Woo.com Partner Developer account.
Globally Using Composer
- Run
composer global require woocommerce/qit-cli
- Execute
qit
to authenticate with your Woo.com Partner Developer account. Ensure that the Composer bin folder is in your PATH. Example.
Globally Using wget
(Pro Tip: Opting for the Composer installation method simplifies the process of updating QIT in the future 😉)
- Run
wget https://github.com/woocommerce/qit-cli/raw/trunk/qit
- Execute
chmod +x qit
- Move the file to a directory in your PATH, such as
sudo mv qit /usr/local/bin/qit
- Run
qit
to authenticate with your Woo.com Partner Developer account.
Examples
qit run:e2e my-extension
- Runs the WooCommerce Core E2E tests with your extension active.qit run:e2e my-extension --php_version=8.2
- Same as above, but with PHP 8.2.qit run:e2e my-extension --php_version=8.2 --woocommerce_version=rc --wordpress_version=rc
- Same as above, but with the release candidate versions of WooCommerce and WordPress, or latest stable if none available.qit run:e2e my-extension --zip
- Runs the tests using an unreleased development build zip.qit run:e2e my-extension --additional_wordpress_plugins=gutenberg
- Activates the "Gutenberg" feature plugin in the test environment as well.qit run:e2e my-extension --optional_features=hpos
- Enables the WooCommerce "High Performance Order Storage" feature in the test site.
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.
Supported Tests
QIT currently supports the following types of tests:
- End-to-End Test
- Activation Test
- Security Test
- PHPStan Test
- API Test
- PHP Minimum and Maximum Version Compatibility (Coming soon)
- Performance Test (Coming soon)
Documentation
For more detailed information on QIT and how to use it, refer to the official documentation.
Highlights
For End-to-End, Activation, and API Tests
- Choose the PHP version, ranging from 7.4 to 8.2.
- Select the WooCommerce and WordPress versions, including beta releases.
- Opt in to activate other extensions to check for potential conflicts.
For all Tests
- Integrate QIT as part of your pull requests with our example GitHub Workflows integration.
- Create and share application passwords with your development team, allowing them to use the QIT CLI without having full access to your Woo.com account.
Is QIT Exclusively Available for Woo.com Partner Developers?
QIT represents a revolutionary step forward in facilitating automated testing for WordPress developers.
In its inaugural phase, we've chosen to primarily target Woo Marketplace Partner Developers. However, our broader vision encompasses extending the availability of this tool to plugins outside of the Marketplace as well, in a commitment to make automated testing accessible to the WordPress ecosystem as a whole.
If you're interested in leveraging the potential of QIT and want to further support its broader goals, we welcome you to submit an issue in our GitHub repository. Your input is invaluable to us, as it greatly contributes to directing the course of the project's future.
Support
If you need help with QIT, open an issue on this GitHub repository.