Skip to content

Commit

Permalink
Merge pull request #7951 from gabrieldagama/updating-testing-docs
Browse files Browse the repository at this point in the history
Added Static and SemVer tests docs
  • Loading branch information
dobooth authored Oct 12, 2020
2 parents 32f65b2 + b9b2816 commit 8b6801a
Show file tree
Hide file tree
Showing 6 changed files with 106 additions and 3 deletions.
2 changes: 0 additions & 2 deletions src/_data/main-nav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,6 @@
- label: Web API Functional Testing
url: /get-started/web-api-functional-testing.html

-

- label: Functional Areas
children:

Expand Down
14 changes: 13 additions & 1 deletion src/_data/toc/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,16 @@ pages:
children:

- label: '@dataProvider'
url: /test/unit/annotations/data-provider.html
url: /test/unit/annotations/data-provider.html

- label: Static Testing
children:

- label: Running Static Tests
url: /test/static/static_test_execution.html

- label: Semantic Version Checker
children:

- label: Running SVC tool
url: /test/svc/semver_test_execution.html
55 changes: 55 additions & 0 deletions src/guides/v2.3/test/static/static_test_execution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
group: testing
title: Running Static Tests
functional_areas:
- Testing
- test
---

Executing Magento 2 static tests is straightforward. They can be executed in several ways.

### Running static tests on all files

To run static tests on all files, navigate to the Magento base directory and execute the following command:

```bash
bin/magento dev:test:run static
```

### Running PHP static tests on a subset of files

To run the static tests on a subset of files, create a new testsuite for phpunit:

1. From the Magento base directory navigate to `dev/tests/static/testsuite/Magento/Test`

1. Create a copy of the `Php` folder on the same directory and rename it to `Local`

1. Navigate to `dev/tests/static/testsuite/Magento/Test/Local/_files/whitelist` and open `common.txt`

1. Replace the contents with the folder of the files that you want to test. For example:

```text
# Format: <componentType=module|library|theme|language|*> <componentName> <globPattern> or simply <globPattern>
app/code/Magento/CatalogSearch/Model/Search
```

1. Create a copy of the `dev/tests/static/phpunit.xml.dist` file and call it `phpunit.xml`:

1. Add a new testsuite to the `dev/tests/static/phpunit.xml` file inside the `<testsuites>` node:

```xml
<testsuites>
...
<testsuite name="Local Test Suite">
<file>testsuite/Magento/Test/Local/LiveCodeTest.php</file>
</testsuite>
</testsuites>
```

1. Navigate to the Magento base directory and run:

```bash
./vendor/bin/phpunit --testsuite="Local Test Suite" -c dev/tests/static/phpunit.xml.dist
```

As a result of this process, you can run PHP static tests on a subset of files. It is also possible to run other types of static tests by following the same process with other testsuites.
36 changes: 36 additions & 0 deletions src/guides/v2.3/test/svc/semver_test_execution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
group: testing
title: Running Semantic Version Checker
functional_areas:
- Testing
- test
---

Executing the Magento 2 Semantic Version Checker is a simple process, but it requires an external tool.

### Running Semantic Version Checker on local changes

To run the Semantic Version Checker on local changes:

1. Clone the `magento-semver` tool to your local machine:

```bash
git clone git@github.com:magento/magento-semver.git
```

1. Navigate to the cloned repository and run `composer install` to install the project dependencies:

```bash
cd magento-semver && composer install
```

1. To run the Semantic Version Checker, we need one folder with the feature changes and another folder with mainline code (without changes), so you may need to clone the Magento repository to a separate folder to perform the comparison.

1. Navigate the `magento-semver` folder and run the Semantic Version Checker compare command:

```bash
bin/svc compare ../magento2-mainline ../magento2
```

The first parameter is the mainline code without any changes, and the second parameter is the path to the folder with your changes.
The results of the Semantic Version Checker are outputted to the console.
1 change: 1 addition & 0 deletions src/guides/v2.4/test/static/static_test_execution.md
1 change: 1 addition & 0 deletions src/guides/v2.4/test/svc/semver_test_execution.md

0 comments on commit 8b6801a

Please sign in to comment.