- Acquia CMS
- Bare fixture
- Fixture
- Ignored tests
- Integrated test
- Isolated test
- Isolated unit tests
- Nightwatch.js
- Non-SUT tests
- ORCA
- ORCA internals
- PHPUnit
- Plumbing interface
- Porcelain interface
- Private tests
- Project template
- Public tests
- Standard fixture
- SUT
- SUT tests
- SUT-only fixture
- System Under Test
- Test fixture
Acquia CMS (drupal/acquia_cms
) is Acquia's opinionated Drupal distribution for running low-code websites on the Acquia hosting platform. It is included in ORCA test fixtures by default by way of Drupal Recommended Project. Cf. Why do I get version conflicts with drupal/acquia_cms?.
A test fixture that neither includes nor installs any SUT or other company packages.
Automated tests that ORCA "ignores" and never runs. These are designated with an orca_ignore
group for PHPUnit. Tests should be "ignored" when they depend upon setup or preconditions that ORCA doesn't provide. They can then be scripted to run without ORCA after custom setup. Read more in Running automated tests: Tagging/grouping.
A test of the SUT in the presence of all other company packages (i.e., in a standard fixture). Read more in Understanding ORCA.
A test of the SUT in the absence of other non-required packages (i.e., in a SUT-only fixture). Read more in Understanding ORCA.
Unit tests that run "in isolation", i.e., separate and apart from the application and all other units. See Unit Test Isolation.
An integrated, end-to-end testing solution for web applications and websites. [Website] ORCA automatically runs Nightwatch tests in the SUT tagged with the package's machine name.
Automated tests provided by company packages other than the SUT.
Official Representative Customer Application: a tool for testing all of a company's software packages together in the context of a realistic, functioning, best practices Drupal build. (You are here.)
ORCA may be thought of as providing two interfaces: a "porcelain" interface comprised of easy-to-use CI scripts that encapsulates high level testing policy and covers the 90% use case, and a "plumbing" interface consisting of a highly flexible command line application that exposes low level options and functionality. Read more in Getting Started.
A programmer-oriented testing framework used by Drupal. [Website] [Drupal.org] ORCA automatically runs public and private PHPUnit tests found in company packages. See also ignored tests.
Automated tests that ORCA runs only when the package that provides them is the SUT. Any test that is not designated public or ignored is automatically treated as private. Read more in Running automated tests: Tagging/grouping.
A project template is a way to use Composer to create new projects from an existing package. See composer create-project. This is the preferred way to manage Drupal and all dependencies (modules, themes, libraries). See Using Composer to Install Drupal and Manage Dependencies. Acquia provides two project templates:
- <a name="acquia-drupal-recommended-project"Acquia Drupal Recommended Project (
acquia/drupal-recommended-project
) is a project template providing a great out-of-the-box experience for new Drupal 9 projects hosted on Acquia. - <a name="acquia-drupal-minimal-project"Acquia Drupal Minimal Project (
acquia/drupal-minimal-project
) provides a minimal Drupal application to be hosted on Acquia.
By default, ORCA uses Acquia Drupal Recommended Project to create test fixtures. This behavior can be changed using the --project-template
option of the fixture:init
Console command like this, for example:
orca fixture:init --project-template=acquia/drupal-minimal-project
On GitHub Actions, it can be changed via the ORCA_FIXTURE_PROJECT_TEMPLATE
environment variable in your orca.yml
like this:
jobs:
build:
env:
ORCA_FIXTURE_PROJECT_TEMPLATE: acquia/drupal-minimal-project
Automated tests that ORCA runs regardless of whether or not the package that provides them is the SUT. These are designated with an orca_public
group for PHPUnit. Public tests should be limited to those covering features at the greatest risk of being broken by the presence or action of other company packages, and they should be as fast as possible since they will be run on all other company packages' builds. Read more in Running automated tests: Tagging/grouping.
A test fixture that includes and installs the SUT as well as all other company packages. See also integrated test.
| so͞ot | System Under Test: in automated testing, the software that is being tested for correct operation. In ORCA, that means a company package.
Automated tests provided by the SUT.
A test fixture that includes and installs the SUT and omits all other non-required company packages. See also isolated test.
In automated testing, a test fixture is all the things we need to have in place in order to run a test and expect a particular outcome.[cit.] In the case of ORCA, that means a project template with all applicable company software packages in place and Drupal installed. Read more in Understanding ORCA.
README | Understanding ORCA | Getting Started | CLI Commands | Advanced Usage | Project Glossary | FAQ | Contribution Guide