0

[PWA] Upgrade integration testing docs on modifying CUJs

This CL updates the existing integration testing docs by
adding sections about:

1. Sanity checks before uploading CLs.
2. Modifying existing tests.

Change-Id: Ib2bb4656dc08a6a015ce38f32b13ead3f15fe9b7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6043948
Commit-Queue: Daniel Murphy <dmurph@chromium.org>
Auto-Submit: Dibyajyoti Pal <dibyapal@chromium.org>
Commit-Queue: Dibyajyoti Pal <dibyapal@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1387175}
This commit is contained in:
Dibyajyoti Pal
2024-11-23 00:43:48 +00:00
committed by Chromium LUCI CQ
parent df23e40ff8
commit 3c797c22cd

@ -186,7 +186,11 @@ The new tests can be triggered by adding the path to `browser_tests` or `sync_in
To help debug or explore further, please see the [`graph_cli_tool.py`](graph_cli_tool.py) script which includes a number of command line utilities to process the various files.
Both this file and the [`generate_framework_tests_and_coverage.py`](generate_framework_tests_and_coverage.py) file support the `-v` option to print out informational logging.
Both this file and the [`generate_framework_tests_and_coverage.py`][generate-script] file support the `-v` option to print out informational logging.
### Uploading test CLs
Once the tests have been generated from the CUJs, always run [`generate_framework_tests_and_coverage.py`][generate-script] as a sanity check to ensure that this outputs nothing in the terminal. This means that the [critical user journeys][cuj-spreadsheet] and the generated tests across all files are in sync and no new tests need to be generated. If this outputs something on the terminal, perform the debugging steps outlined above to understand why the two converge.
## [`WebAppIntegrationTestDriver`][test-driver] and Browsertest Implementation
@ -244,6 +248,10 @@ Running tests on these bots MAY have other random failures happening. That is no
Tests can be disabled in the same manner that other integration/browser tests are disabled, using macros. See [on disabling tests](/docs/testing/on_disabling_tests.md) for more information.
### Modifying a test
If you need to modify a test, that means you are changing a critical user journey on the platform. If that is intentional, then modifications must be done to the [critical-user-journey markdown file][cuj-spreadsheet], and not the tests - they are generated from this markdown and should always stay in-sync.
## Understanding and Implementing Test Cases
Actions are the basic building blocks of integration tests. A test is a sequence of actions. Each action has a name that must be a valid C++ identifier.