mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-12-23 16:46:11 +01:00
tea/Documentation/TestingFramework.rst
Alexander Nitsche fc5b861bcd
[TASK] Update docs (#404)
See c2bb63bead for further details.

The README.md should mostly only cover the abstract and links.

The composer commands are the core value of this extension. List
all commands in the documentation and copy the descriptions from
the `composer.json`. This lets the global search at docs.typo3.org
find these commands.

Remove superfluous Linters page, which is integrated now in the
Running page.

Use sentence case in page titles in order to conform to the
TYPO3 documentation standards.

The ambiguous :ts: text role has been removed to
not confuse the writer with typescript and typoscript.

Add the common extension destinations to `composer.json`.
(Packagist displays them in a prominent place.)
2022-04-12 19:00:11 +02:00

57 lines
2 KiB
ReStructuredText

.. include:: /Includes.rst.txt
.. _testing-framework:
=================
Testing framework
=================
Extensions usually need to support two LTS versions of TYPO3 in parallel,
assuming that they should support all currently supported TYPO3 LTS versions.
To achieve this, there are two different approaches, which also affect the
choice of a testing framework for unit and functional tests.
.. contents:: Table of Contents:
:backlinks: top
:class: compact-list
:depth: 2
:local:
.. _testing-framework-approach-many-versions:
Approach 1: One branch for many TYPO3 LTS versions
==================================================
With this approach, there is one main branch that gets new features. It needs to
support two TYPO3 LTS versions in parallel.
The downside is that this slightly increases code complexity as
version-dependent code switches might be necessary. The upside is that there
is only one branch to maintain, which makes adding new features (and all other
code changes) a lot less of a hassle.
The `Nimut testing framework <https://github.com/Nimut/testing-framework>`__
can support multiple TYPO3 versions at a time, and
it provides version-independent abstractions for testing, making it the perfect
companion for this approach.
This is the approach that we have chosen for this extension as we do not want
to maintain two branches in parallel.
.. _testing-framework-approach-one-version:
Approach 2: One branch per TYPO3 LTS version
============================================
With this approach, there are two main branches that get new features in
parallel. Each branch supports exactly one TYPO3 LTS version.
The upside is that this slightly decreases code complexity as
version-dependent code switches are not necessary. The downside is that there
are two branches to maintain, which makes adding new features (and all other
code changes) more of a hassle.
For this approach, the
`TYPO3 testing framework <https://github.com/TYPO3/testing-framework>`__
- which supports only one TYPO3 LTS version at a time - will work just fine.