-
Notifications
You must be signed in to change notification settings - Fork 145
Expand file tree
/
Copy pathPhpUnitOptionsTest.php
More file actions
128 lines (117 loc) · 3.82 KB
/
Copy pathPhpUnitOptionsTest.php
File metadata and controls
128 lines (117 loc) · 3.82 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
<?php
declare(strict_types=1);
namespace Tests\PHPCensor\Plugin\Option;
use PHPCensor\Common\Application\ConfigurationInterface;
use PHPCensor\Plugin\Option\PhpUnitOptions;
use PHPUnit\Framework\TestCase;
/**
* Unit test for the PHPUnitOptions parser
*
* @author Pablo Tejada <pablo@ptejada.com>
*/
class PhpUnitOptionsTest extends TestCase
{
public function validOptionsProvider(): array
{
return [
[
[
'config' => 'tests/phpunit.xml',
'args' => '--stop-on-error --log-junit /path/to/log/',
],
[
'stop-on-error' => '',
'log-junit' => '/path/to/log/',
'configuration' => 'tests/phpunit.xml',
],
],
[
[
'coverage' => '',
],
[],
],
[
[
'coverage' => '/path/to/coverage2/',
],
[
'coverage-text' => null,
],
],
[
[
'coverage' => true,
'directory' => [
'/path/to/test1/',
'/path/to/test2/',
],
],
[
'coverage-text' => null,
],
],
[
[
'config' => ['tests/phpunit.xml'],
'args' => "--testsuite=unit --bootstrap=vendor/autoload.php",
],
[
'testsuite' => 'unit',
'bootstrap' => 'vendor/autoload.php',
'configuration' => ['tests/phpunit.xml'],
],
],
[
[
'config' => ['tests/phpunit.xml'],
'args' => "--testsuite='unit' --bootstrap 'vendor/autoload.php'",
],
[
'testsuite' => 'unit',
'bootstrap' => 'vendor/autoload.php',
'configuration' => ['tests/phpunit.xml'],
],
],
[
[
'config' => ['tests/phpunit.xml'],
'args' => '--testsuite="unit" --bootstrap "vendor/autoload.php"',
],
[
'testsuite' => 'unit',
'bootstrap' => 'vendor/autoload.php',
'configuration' => ['tests/phpunit.xml'],
],
],
];
}
/**
* @dataProvider validOptionsProvider
*/
public function testCommandArguments(array $rawOptions, array $parsedArguments): void
{
$configuration = $this->createMock(ConfigurationInterface::class);
$options = new PhpUnitOptions($configuration, $rawOptions, '/location');
self::assertSame($parsedArguments, $options->getCommandArguments());
}
public function testGetters(): void
{
$configuration = $this->createMock(ConfigurationInterface::class);
$options = new PhpUnitOptions(
$configuration,
[
'run_from' => '/path/to/run/from',
'path' => 'subTest',
],
'/location'
);
self::assertEquals('/path/to/run/from', $options->getRunFrom());
self::assertEquals('subTest', $options->getTestsPath());
self::assertNull($options->getOption('random'));
self::assertEmpty($options->getDirectories());
self::assertEmpty($options->getConfigFiles());
$files = $options->getConfigFiles(ROOT_DIR);
self::assertFileExists(ROOT_DIR . $files[0]);
}
}