1
1
/// <reference types="cypress" />
2
2
3
+ /**
4
+ * Sends collected code coverage object to the backend code
5
+ * via "cy.task".
6
+ */
7
+ const sendCoverage = coverage => {
8
+ cy . log ( 'Saving code coverage' )
9
+ // stringify coverage object for speed
10
+ cy . task ( 'combineCoverage' , JSON . stringify ( coverage ) , {
11
+ log : false
12
+ } )
13
+ }
14
+
3
15
// to disable code coverage commands and save time
4
16
// pass environment variable coverage=false
5
17
// cypress run --env coverage=false
@@ -23,7 +35,7 @@ if (Cypress.env('coverage') === false) {
23
35
const applicationSourceCoverage = win . __coverage__
24
36
25
37
if ( applicationSourceCoverage ) {
26
- cy . task ( 'combineCoverage' , JSON . stringify ( applicationSourceCoverage ) )
38
+ sendCoverage ( applicationSourceCoverage )
27
39
}
28
40
} )
29
41
} )
@@ -54,7 +66,7 @@ if (Cypress.env('coverage') === false) {
54
66
// original failed request
55
67
return
56
68
}
57
- cy . task ( 'combineCoverage' , JSON . stringify ( coverage ) )
69
+ sendCoverage ( coverage )
58
70
} )
59
71
}
60
72
@@ -75,7 +87,7 @@ if (Cypress.env('coverage') === false) {
75
87
( fileCoverage , filename ) =>
76
88
filename . startsWith ( specFolder ) || filename . startsWith ( supportFolder )
77
89
)
78
- cy . task ( 'combineCoverage' , JSON . stringify ( coverage ) )
90
+ sendCoverage ( coverage )
79
91
}
80
92
81
93
// when all tests finish, lets generate the coverage report
0 commit comments