Repository navigation
Expand file tree
/
Copy pathphpunit.xml.dist
More file actions
135 lines (135 loc) · 6.68 KB
/
Copy pathphpunit.xml.dist
File metadata and controls
135 lines (135 loc) · 6.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/13.1/phpunit.xsd"
bootstrap="tests/bootstrap.php"
colors="true"
stopOnFailure="false"
executionOrder="depends,defects"
beStrictAboutOutputDuringTests="false"
beStrictAboutChangesToGlobalState="false"
cacheDirectory=".phpunit.cache"
displayDetailsOnTestsThatTriggerErrors="false"
displayDetailsOnTestsThatTriggerWarnings="false"
displayDetailsOnTestsThatTriggerDeprecations="false"
>
<coverage branchCoverage="true"/>
<source>
<include>
<directory suffix=".php">src</directory>
</include>
<exclude>
<directory>src/Migrations</directory>
<directory>src/DataFixtures</directory>
<directory>vendor</directory>
<directory>tests</directory>
<directory>var</directory>
</exclude>
</source>
<testsuites>
<!-- Pure unit tests - no database, no kernel, fast -->
<testsuite name="unit">
<directory>tests/Docker</directory>
<directory>tests/Dto</directory>
<directory>tests/DTO/Jira</directory>
<directory>tests/DependencyInjection</directory>
<directory>tests/Event</directory>
<directory>tests/EventSubscriber</directory>
<directory>tests/Security/Csp</directory>
<directory>tests/Extension</directory>
<directory>tests/Helper</directory>
<directory>tests/Model</directory>
<directory>tests/Response</directory>
<directory>tests/Service</directory>
<directory>tests/Util</directory>
<directory>tests/Validator</directory>
<directory>tests/ValueObject</directory>
<!-- Exclude integration tests that require external services -->
<exclude>tests/Service/Ldap/LdapClientServiceIntegrationTest.php</exclude>
<!--
These three boot the kernel and resolve a real EntityManager, so
they need MySQL. They sat here and passed whenever the database
happened to be up before the suite started; when it was not, a
pull request touching two lines of README went red (#756). They
run in the `integration` suite instead, which `CI Success`
depends on just the same, so nothing is covered less than before
— only the suite that promises no infrastructure keeps its
promise.
-->
<exclude>tests/Dto/EntrySaveDtoTest.php</exclude>
<exclude>tests/Service/DaySummaryServiceSourceTest.php</exclude>
<exclude>tests/Service/TimeBalanceServiceSourceTest.php</exclude>
<!-- Entity unit tests (not *DatabaseTest) -->
<file>tests/Entity/ActivityTest.php</file>
<file>tests/Entity/CustomerTest.php</file>
<file>tests/Entity/EntryTest.php</file>
<file>tests/Entity/HolidayTest.php</file>
<file>tests/Entity/PersonioAbsenceImportTest.php</file>
<file>tests/Entity/PersonioAttendanceExportTest.php</file>
<file>tests/Entity/PersonioConfigTest.php</file>
<file>tests/Entity/PresetTest.php</file>
<file>tests/Entity/ProjectTest.php</file>
<file>tests/Entity/SyncRunItemTest.php</file>
<file>tests/Entity/SyncRunTest.php</file>
<file>tests/Entity/TicketTest.php</file>
<file>tests/Entity/UserTest.php</file>
<file>tests/Entity/UserTicketsystemTest.php</file>
<file>tests/Entity/TicketSystemTest.php</file>
<!-- Enum unit tests -->
<directory>tests/Enum</directory>
<!-- Exception unit tests -->
<directory>tests/Exception</directory>
<!-- Repository unit tests -->
<file>tests/Repository/EntryRepositoryTest.php</file>
<file>tests/Repository/InterpretationUserFilterTest.php</file>
<!-- Security unit tests (not RememberMeRedirectTest) -->
<file>tests/Security/LoginFormAuthenticatorTest.php</file>
<file>tests/Security/UserCheckerTest.php</file>
<!-- Command unit tests -->
<file>tests/Command/CreateUserCommandTest.php</file>
</testsuite>
<!-- Integration tests requiring database -->
<testsuite name="integration">
<!-- Moved out of `unit` in #756: they need a database. -->
<file>tests/Dto/EntrySaveDtoTest.php</file>
<file>tests/Service/DaySummaryServiceSourceTest.php</file>
<file>tests/Service/TimeBalanceServiceSourceTest.php</file>
<file>tests/Entity/ActivityDatabaseTest.php</file>
<file>tests/Entity/CustomerDatabaseTest.php</file>
<file>tests/Entity/HolidayDatabaseTest.php</file>
<file>tests/Entity/PresetDatabaseTest.php</file>
<file>tests/Entity/ProjectDatabaseTest.php</file>
<file>tests/Entity/TeamDatabaseTest.php</file>
<file>tests/Entity/UserDatabaseTest.php</file>
<file>tests/Security/RememberMeRedirectTest.php</file>
<file>tests/Service/Ldap/LdapClientServiceIntegrationTest.php</file>
<directory>tests/Repository</directory>
<directory>tests/Command</directory>
<exclude>tests/Repository/EntryRepositoryTest.php</exclude>
<exclude>tests/Repository/InterpretationUserFilterTest.php</exclude>
</testsuite>
<!-- Controller tests (HTTP integration) -->
<testsuite name="controller">
<directory>tests/Controller</directory>
</testsuite>
<!-- API Functional tests - CRUD operations + response-format checks with real database, for CI -->
<testsuite name="api-functional">
<directory>tests/Api/Functional</directory>
</testsuite>
<!-- MCP tool tests - container-level tool calls with real database, for CI -->
<testsuite name="mcp">
<directory>tests/Mcp</directory>
</testsuite>
</testsuites>
<php>
<server name="APP_ENV" value="test" force="true"/>
<server name="KERNEL_CLASS" value="App\Kernel"/>
<server name="SHELL_VERBOSITY" value="-1"/>
<server name="SYMFONY_PHPUNIT_REMOVE" value=""/>
<server name="SYMFONY_PHPUNIT_VERSION" value="13.1"/>
<!-- Memory limit for tests -->
<ini name="memory_limit" value="2G"/>
<!-- Symfony deprecation helper - reports deprecations without verbose output -->
<env name="SYMFONY_DEPRECATIONS_HELPER" value="weak"/>
</php>
</phpunit>