apex-mutation-testing 1.4.0 → 1.5.0-dev-99.22433332486-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -3
- package/lib/commands/apex/mutation/test/run.d.ts +2 -1
- package/lib/commands/apex/mutation/test/run.js +16 -10
- package/lib/commands/apex/mutation/test/run.js.map +1 -1
- package/lib/mutator/astUtils.d.ts +2 -1
- package/lib/reporter/HTMLReporter.js +7 -3
- package/lib/reporter/HTMLReporter.js.map +1 -1
- package/lib/service/mutationTestingService.d.ts +2 -1
- package/lib/service/mutationTestingService.js +19 -2
- package/lib/service/mutationTestingService.js.map +1 -1
- package/lib/type/ApexMutationParameter.d.ts +1 -0
- package/lib/type/ApexMutationTestResult.d.ts +1 -1
- package/messages/apex.mutation.test.run.md +12 -0
- package/npm-shrinkwrap.json +2 -2
- package/oclif.manifest.json +10 -2
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -70,6 +70,16 @@ Before running mutation testing:
|
|
|
70
70
|
|
|
71
71
|
Remember, mutation testing complements but doesn't replace good test coverage. It helps identify weaknesses in your existing tests, but only for the code they already cover.
|
|
72
72
|
|
|
73
|
+
### Dry Run
|
|
74
|
+
|
|
75
|
+
Before running the full mutation testing process, you can preview the mutations that would be generated using the `--dry-run` flag:
|
|
76
|
+
|
|
77
|
+
```sh
|
|
78
|
+
sf apex mutation test run --apex-class MyClass --test-class MyClassTest --dry-run
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
This runs your test class once to collect coverage data, then lists all mutations that would be generated without deploying any of them. Use it to estimate the scope of mutation testing for your class and verify that relevant mutations are being generated for your code patterns.
|
|
82
|
+
|
|
73
83
|
### Supported Mutation Operators
|
|
74
84
|
|
|
75
85
|
The plugin currently supports the following mutation operators. If your code doesn't contain any of these patterns on covered lines, no mutations will be generated:
|
|
@@ -144,11 +154,12 @@ Evaluate test coverage quality by injecting mutations and measuring test detecti
|
|
|
144
154
|
|
|
145
155
|
```
|
|
146
156
|
USAGE
|
|
147
|
-
$ sf apex mutation test run -c <value> -t <value> -o <value> [--json] [--flags-dir <value>] [-r <value>] [
|
|
148
|
-
<value>]
|
|
157
|
+
$ sf apex mutation test run -c <value> -t <value> -o <value> [--json] [--flags-dir <value>] [-r <value>] [-d]
|
|
158
|
+
[--api-version <value>]
|
|
149
159
|
|
|
150
160
|
FLAGS
|
|
151
161
|
-c, --apex-class=<value> (required) Apex class name to mutate
|
|
162
|
+
-d, --dry-run Preview mutations without deploying or running tests
|
|
152
163
|
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
153
164
|
configuration variable is already set.
|
|
154
165
|
-r, --report-dir=<value> [default: mutations] Path to the directory where mutation test reports will be generated
|
|
@@ -172,9 +183,13 @@ EXAMPLES
|
|
|
172
183
|
Run mutation testing on a class with its test file:
|
|
173
184
|
|
|
174
185
|
$ sf apex mutation test run --apex-class MyClass --test-class MyClassTest
|
|
186
|
+
|
|
187
|
+
Preview mutations without running them:
|
|
188
|
+
|
|
189
|
+
$ sf apex mutation test run --apex-class MyClass --test-class MyClassTest --dry-run
|
|
175
190
|
```
|
|
176
191
|
|
|
177
|
-
_See code: [src/commands/apex/mutation/test/run.ts](https://github.com/scolladon/apex-mutation-testing/blob/v1.
|
|
192
|
+
_See code: [src/commands/apex/mutation/test/run.ts](https://github.com/scolladon/apex-mutation-testing/blob/v1.5.0-dev-99.22433332486-1/src/commands/apex/mutation/test/run.ts)_
|
|
178
193
|
<!-- commandsstop -->
|
|
179
194
|
|
|
180
195
|
## Backlog
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
2
|
export type ApexMutationTestResult = {
|
|
3
|
-
score: number;
|
|
3
|
+
score: number | null;
|
|
4
4
|
};
|
|
5
5
|
export default class ApexMutationTest extends SfCommand<ApexMutationTestResult> {
|
|
6
6
|
static readonly summary: string;
|
|
@@ -10,6 +10,7 @@ export default class ApexMutationTest extends SfCommand<ApexMutationTestResult>
|
|
|
10
10
|
'apex-class': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
11
|
'test-class': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
12
|
'report-dir': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
14
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
15
|
'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
16
|
};
|
|
@@ -26,22 +26,26 @@ export default class ApexMutationTest extends SfCommand {
|
|
|
26
26
|
exists: true,
|
|
27
27
|
default: 'mutations',
|
|
28
28
|
}),
|
|
29
|
+
'dry-run': Flags.boolean({
|
|
30
|
+
char: 'd',
|
|
31
|
+
summary: messages.getMessage('flags.dry-run.summary'),
|
|
32
|
+
default: false,
|
|
33
|
+
}),
|
|
29
34
|
'target-org': Flags.requiredOrg(),
|
|
30
35
|
'api-version': Flags.orgApiVersion(),
|
|
31
36
|
};
|
|
32
37
|
async run() {
|
|
33
|
-
// parse the provided flags
|
|
34
38
|
const { flags } = await this.parse(ApexMutationTest);
|
|
35
39
|
const connection = flags['target-org'].getConnection(flags['api-version']);
|
|
36
40
|
const parameters = {
|
|
37
41
|
apexClassName: flags['apex-class'],
|
|
38
42
|
apexTestClassName: flags['test-class'],
|
|
39
43
|
reportDir: flags['report-dir'],
|
|
44
|
+
dryRun: flags['dry-run'],
|
|
40
45
|
};
|
|
41
|
-
this.log(messages.getMessage('
|
|
42
|
-
|
|
43
|
-
parameters.apexTestClassName
|
|
44
|
-
]));
|
|
46
|
+
this.log(messages.getMessage(flags['dry-run']
|
|
47
|
+
? 'info.DryRunCommandIsRunning'
|
|
48
|
+
: 'info.CommandIsRunning', [parameters.apexClassName, parameters.apexTestClassName]));
|
|
45
49
|
const apexClassValidator = new ApexClassValidator(connection);
|
|
46
50
|
await apexClassValidator.validate(parameters);
|
|
47
51
|
const mutationTestingService = new MutationTestingService(this.progress, this.spinner, connection, parameters, messages);
|
|
@@ -49,12 +53,14 @@ export default class ApexMutationTest extends SfCommand {
|
|
|
49
53
|
const htmlReporter = new ApexMutationHTMLReporter();
|
|
50
54
|
await htmlReporter.generateReport(mutationResult, parameters.reportDir);
|
|
51
55
|
this.log(messages.getMessage('info.reportGenerated', [parameters.reportDir]));
|
|
52
|
-
const score =
|
|
53
|
-
|
|
56
|
+
const score = flags['dry-run']
|
|
57
|
+
? null
|
|
58
|
+
: mutationTestingService.calculateScore(mutationResult);
|
|
59
|
+
if (score !== null) {
|
|
60
|
+
this.log(messages.getMessage('info.CommandSuccess', [score]));
|
|
61
|
+
}
|
|
54
62
|
this.info(messages.getMessage('info.EncourageSponsorship'));
|
|
55
|
-
return {
|
|
56
|
-
score,
|
|
57
|
-
};
|
|
63
|
+
return { score };
|
|
58
64
|
}
|
|
59
65
|
}
|
|
60
66
|
//# sourceMappingURL=run.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../../src/commands/apex/mutation/test/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AAGtF,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CACpC,uBAAuB,EACvB,wBAAwB,CACzB,CAAA;AAMD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAiC;IACtE,MAAM,CAAmB,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACjE,MAAM,CAAmB,WAAW,GACzC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IAC7B,MAAM,CAAmB,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;IAEpE,MAAM,CAAmB,KAAK,GAAG;QACtC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;YACxD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;YACxD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;YAC5B,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;YACxD,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,WAAW;SACrB,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;KACrC,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../../src/commands/apex/mutation/test/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { ParserRuleContext } from 'antlr4ts';
|
|
|
2
2
|
import { DotMethodCallContext } from 'apex-parser';
|
|
3
3
|
import type { ApexType } from '../type/ApexMethod.js';
|
|
4
4
|
import type { ResolvedType, TypeRegistry } from '../type/TypeRegistry.js';
|
|
5
|
-
|
|
5
|
+
interface DotMethodCallInfo {
|
|
6
6
|
dotMethodCall: DotMethodCallContext;
|
|
7
7
|
methodName: string;
|
|
8
8
|
enclosingMethod: string;
|
|
@@ -12,3 +12,4 @@ export declare function getEnclosingMethodName(ctx: ParserRuleContext): string |
|
|
|
12
12
|
export declare function resolveDotMethodCall(ctx: ParserRuleContext, typeRegistry: TypeRegistry): DotMethodCallInfo | null;
|
|
13
13
|
export declare function extractArguments(methodCallCtx: ParserRuleContext): ParserRuleContext[];
|
|
14
14
|
export declare function resolveExpressionApexType(text: string, enclosingMethod: string, typeRegistry: TypeRegistry): ApexType | null;
|
|
15
|
+
export {};
|
|
@@ -17,7 +17,11 @@ export class ApexMutationHTMLReporter {
|
|
|
17
17
|
},
|
|
18
18
|
files: {},
|
|
19
19
|
};
|
|
20
|
-
const
|
|
20
|
+
const untestedStatuses = new Set([
|
|
21
|
+
'CompileError',
|
|
22
|
+
'RuntimeError',
|
|
23
|
+
'Pending',
|
|
24
|
+
]);
|
|
21
25
|
const fileResult = {
|
|
22
26
|
language: 'java',
|
|
23
27
|
source: apexMutationTestResult.sourceFileContent,
|
|
@@ -28,9 +32,9 @@ export class ApexMutationHTMLReporter {
|
|
|
28
32
|
status: mutant.status,
|
|
29
33
|
statusReason: mutant.statusReason,
|
|
30
34
|
static: false,
|
|
31
|
-
coveredBy:
|
|
35
|
+
coveredBy: untestedStatuses.has(mutant.status) ? undefined : ['0'],
|
|
32
36
|
killedBy: mutant.status === 'Killed' ? ['0'] : undefined,
|
|
33
|
-
testsCompleted:
|
|
37
|
+
testsCompleted: untestedStatuses.has(mutant.status) ? 0 : 1,
|
|
34
38
|
location: {
|
|
35
39
|
start: {
|
|
36
40
|
line: mutant.location.start.line,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTMLReporter.js","sourceRoot":"","sources":["../../src/reporter/HTMLReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAG5B,MAAM,OAAO,wBAAwB;IACnC,KAAK,CAAC,cAAc,CAClB,sBAA8C,EAC9C,YAAoB,SAAS;QAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAA;QACpE,iEAAiE;QACjE,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAChD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,CAAA;IAClE,CAAC;IAEO,oBAAoB,CAAC,sBAA8C;QACzE,MAAM,kBAAkB,GAAG;YACzB,aAAa,EAAE,OAAO;YACtB,MAAM,EAAE,EAAE,EAAE,sCAAsC;YAClD,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE;gBACR,GAAG,EAAE,EAAE;aACR;YACD,KAAK,EAAE,EAAE;SACV,CAAA;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"HTMLReporter.js","sourceRoot":"","sources":["../../src/reporter/HTMLReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAG5B,MAAM,OAAO,wBAAwB;IACnC,KAAK,CAAC,cAAc,CAClB,sBAA8C,EAC9C,YAAoB,SAAS;QAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAA;QACpE,iEAAiE;QACjE,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAChD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,CAAA;IAClE,CAAC;IAEO,oBAAoB,CAAC,sBAA8C;QACzE,MAAM,kBAAkB,GAAG;YACzB,aAAa,EAAE,OAAO;YACtB,MAAM,EAAE,EAAE,EAAE,sCAAsC;YAClD,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE;gBACR,GAAG,EAAE,EAAE;aACR;YACD,KAAK,EAAE,EAAE;SACV,CAAA;QAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;YAC/B,cAAc;YACd,cAAc;YACd,SAAS;SACV,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,sBAAsB,CAAC,iBAAiB;YAChD,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrD,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClE,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxD,cAAc,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,QAAQ,EAAE;oBACR,KAAK,EAAE;wBACL,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;wBAChC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;qBACrC;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI;wBAC9B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM;qBACnC;iBACF;aACF,CAAC,CAAC;SACJ,CAAA;QAED,kBAAkB,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,UAAU,MAAM,CAAC;YAClE,UAAU,CAAA;QAEZ,OAAO,kBAAkB,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE;IAChC,OAAO;;;;;;;;;;;;;qBAaY,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;;;UAGjD,CAAA;AACV,CAAC,CAAA;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACpC,OAAO,CAAC,CAAA;AACV,CAAC"}
|
|
@@ -9,8 +9,9 @@ export declare class MutationTestingService {
|
|
|
9
9
|
protected readonly messages: Messages<string>;
|
|
10
10
|
protected readonly apexClassName: string;
|
|
11
11
|
protected readonly apexTestClassName: string;
|
|
12
|
+
protected readonly dryRun: boolean;
|
|
12
13
|
private apexClassContent;
|
|
13
|
-
constructor(progress: Progress, spinner: Spinner, connection: Connection, { apexClassName, apexTestClassName }: ApexMutationParameter, messages: Messages<string>);
|
|
14
|
+
constructor(progress: Progress, spinner: Spinner, connection: Connection, { apexClassName, apexTestClassName, dryRun }: ApexMutationParameter, messages: Messages<string>);
|
|
14
15
|
process(): Promise<ApexMutationTestResult>;
|
|
15
16
|
calculateScore(mutationResult: ApexMutationTestResult): number;
|
|
16
17
|
private buildMutantResult;
|
|
@@ -36,14 +36,16 @@ export class MutationTestingService {
|
|
|
36
36
|
messages;
|
|
37
37
|
apexClassName;
|
|
38
38
|
apexTestClassName;
|
|
39
|
+
dryRun;
|
|
39
40
|
apexClassContent = '';
|
|
40
|
-
constructor(progress, spinner, connection, { apexClassName, apexTestClassName }, messages) {
|
|
41
|
+
constructor(progress, spinner, connection, { apexClassName, apexTestClassName, dryRun }, messages) {
|
|
41
42
|
this.progress = progress;
|
|
42
43
|
this.spinner = spinner;
|
|
43
44
|
this.connection = connection;
|
|
44
45
|
this.messages = messages;
|
|
45
46
|
this.apexClassName = apexClassName;
|
|
46
47
|
this.apexTestClassName = apexTestClassName;
|
|
48
|
+
this.dryRun = dryRun ?? false;
|
|
47
49
|
}
|
|
48
50
|
async process() {
|
|
49
51
|
const apexClassRepository = new ApexClassRepository(this.connection);
|
|
@@ -112,13 +114,28 @@ export class MutationTestingService {
|
|
|
112
114
|
coveredLines.size,
|
|
113
115
|
]));
|
|
114
116
|
}
|
|
117
|
+
this.spinner.stop(`${mutations.length} mutations generated`);
|
|
118
|
+
if (this.dryRun) {
|
|
119
|
+
return {
|
|
120
|
+
sourceFile: this.apexClassName,
|
|
121
|
+
sourceFileContent: apexClass.Body,
|
|
122
|
+
testFile: this.apexTestClassName,
|
|
123
|
+
mutants: mutations.map(mutation => ({
|
|
124
|
+
id: `${this.apexClassName}-${mutation.target.startToken.line}-${mutation.target.startToken.charPositionInLine}-${mutation.target.startToken.tokenIndex}-${Date.now()}`,
|
|
125
|
+
mutatorName: mutation.mutationName,
|
|
126
|
+
status: 'Pending',
|
|
127
|
+
location: this.calculateMutationPosition(mutation, apexClass.Body),
|
|
128
|
+
replacement: mutation.replacement,
|
|
129
|
+
original: this.extractMutationOriginalText(mutation),
|
|
130
|
+
})),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
115
133
|
const mutationResults = {
|
|
116
134
|
sourceFile: this.apexClassName,
|
|
117
135
|
sourceFileContent: apexClass.Body,
|
|
118
136
|
testFile: this.apexTestClassName,
|
|
119
137
|
mutants: [],
|
|
120
138
|
};
|
|
121
|
-
this.spinner.stop(`${mutations.length} mutations generated`);
|
|
122
139
|
this.progress.start(mutations.length, { info: 'Starting mutation testing' }, {
|
|
123
140
|
title: 'MUTATION TESTING PROGRESS',
|
|
124
141
|
format: '%s | {bar} | {value}/{total} {info}',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutationTestingService.js","sourceRoot":"","sources":["../../src/service/mutationTestingService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mutationTestingService.js","sourceRoot":"","sources":["../../src/service/mutationTestingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export interface ApexMutationTestResult {
|
|
|
5
5
|
mutants: {
|
|
6
6
|
id: string;
|
|
7
7
|
mutatorName: string;
|
|
8
|
-
status: 'Killed' | 'Survived' | 'NoCoverage' | 'CompileError' | 'RuntimeError';
|
|
8
|
+
status: 'Killed' | 'Survived' | 'NoCoverage' | 'CompileError' | 'RuntimeError' | 'Pending';
|
|
9
9
|
statusReason?: string;
|
|
10
10
|
location: {
|
|
11
11
|
start: {
|
|
@@ -26,6 +26,10 @@ Path to the directory where mutation test reports will be generated
|
|
|
26
26
|
|
|
27
27
|
<%= config.bin %> <%= command.id %> --apex-class MyClass --test-class MyClassTest
|
|
28
28
|
|
|
29
|
+
- Preview mutations without running them:
|
|
30
|
+
|
|
31
|
+
<%= config.bin %> <%= command.id %> --apex-class MyClass --test-class MyClassTest --dry-run
|
|
32
|
+
|
|
29
33
|
# info.reportGenerated
|
|
30
34
|
|
|
31
35
|
Report has been generated at this location: %s
|
|
@@ -34,6 +38,10 @@ Report has been generated at this location: %s
|
|
|
34
38
|
|
|
35
39
|
Running mutation testing for "%s" with "%s" test class
|
|
36
40
|
|
|
41
|
+
# info.DryRunCommandIsRunning
|
|
42
|
+
|
|
43
|
+
Running dry run mutation testing for "%s" with "%s" test class
|
|
44
|
+
|
|
37
45
|
# info.CommandSuccess
|
|
38
46
|
|
|
39
47
|
Mutation score: %s%
|
|
@@ -55,3 +63,7 @@ No test coverage found for '%s'. Ensure '%s' tests exercise the code you want to
|
|
|
55
63
|
# error.noMutations
|
|
56
64
|
|
|
57
65
|
No mutations could be generated for '%s'. %s line(s) covered but no mutable patterns found.
|
|
66
|
+
|
|
67
|
+
# flags.dry-run.summary
|
|
68
|
+
|
|
69
|
+
Preview mutations without deploying or running tests
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apex-mutation-testing",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0-dev-99.22433332486-1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "apex-mutation-testing",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.5.0-dev-99.22433332486-1",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@oclif/core": "^4.8.1",
|
package/oclif.manifest.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"args": {},
|
|
6
6
|
"description": "The Apex Mutation Testing plugin helps evaluate the effectiveness of your Apex test classes by introducing mutations into your code and checking if your tests can detect these changes:\n\nThe plugin provides insights into how trustworthy your test suite is by measuring its ability to catch intentional code changes.",
|
|
7
7
|
"examples": [
|
|
8
|
-
"Run mutation testing on a class with its test file:\n<%= config.bin %> <%= command.id %> --apex-class MyClass --test-class MyClassTest"
|
|
8
|
+
"Run mutation testing on a class with its test file:\n<%= config.bin %> <%= command.id %> --apex-class MyClass --test-class MyClassTest",
|
|
9
|
+
"Preview mutations without running them:\n<%= config.bin %> <%= command.id %> --apex-class MyClass --test-class MyClassTest --dry-run"
|
|
9
10
|
],
|
|
10
11
|
"flags": {
|
|
11
12
|
"json": {
|
|
@@ -50,6 +51,13 @@
|
|
|
50
51
|
"multiple": false,
|
|
51
52
|
"type": "option"
|
|
52
53
|
},
|
|
54
|
+
"dry-run": {
|
|
55
|
+
"char": "d",
|
|
56
|
+
"name": "dry-run",
|
|
57
|
+
"summary": "Preview mutations without deploying or running tests",
|
|
58
|
+
"allowNo": false,
|
|
59
|
+
"type": "boolean"
|
|
60
|
+
},
|
|
53
61
|
"target-org": {
|
|
54
62
|
"char": "o",
|
|
55
63
|
"name": "target-org",
|
|
@@ -115,5 +123,5 @@
|
|
|
115
123
|
]
|
|
116
124
|
}
|
|
117
125
|
},
|
|
118
|
-
"version": "1.
|
|
126
|
+
"version": "1.5.0-dev-99.22433332486-1"
|
|
119
127
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apex-mutation-testing",
|
|
3
3
|
"description": "Apex mutation testing plugin",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.5.0-dev-99.22433332486-1",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@oclif/core": "^4.8.1",
|
|
7
7
|
"@salesforce/apex-node": "^8.4.10",
|
|
@@ -65,8 +65,9 @@
|
|
|
65
65
|
"dependencies:upgrade": "npx npm-check-updates -u ; npm install ; npm audit fix",
|
|
66
66
|
"deploy:testclasses": "sf project deploy start -d test/classes",
|
|
67
67
|
"test:e2e:setup": "sf project deploy start -d test/classes -o e2e-test-org",
|
|
68
|
-
"test:e2e:run": "sf apex mutation test run -o e2e-test-org -c Mutation -t MutationTest -r
|
|
69
|
-
"test:e2e:run:local": "node ./bin/run.js apex mutation test run -o apex-mutation-testing -c Mutation -t MutationTest -r
|
|
68
|
+
"test:e2e:run": "sf apex mutation test run -o e2e-test-org -c Mutation -t MutationTest -r test/e2e && npm run test:e2e:normalize",
|
|
69
|
+
"test:e2e:run:local": "node ./bin/run.js apex mutation test run -o apex-mutation-testing -c Mutation -t MutationTest -r test/e2e && npm run test:e2e:normalize",
|
|
70
|
+
"test:e2e:normalize": "node tooling/normalize-e2e-snapshot.mjs",
|
|
70
71
|
"test:e2e:validate": "git diff --quiet test/e2e/",
|
|
71
72
|
"test:e2e:teardown": "sf project deploy start -d test/classes -o e2e-test-org",
|
|
72
73
|
"test:e2e": "npm run test:e2e:setup && npm run test:e2e:run && npm run test:e2e:validate; npm run test:e2e:teardown",
|