@@ -111,7 +111,11 @@ Use either:
111
111
{
112
112
"browser": {
113
113
"provider": "playwright",
114
- "name": "chromium"
114
+ "instances": [
115
+ {
116
+ "browser": "chromium"
117
+ }
118
+ ]
115
119
}
116
120
}
117
121
@@ -122,7 +126,7 @@ Use either:
122
126
}
123
127
} )
124
128
125
- test ( 'v8 coverage provider throws when not playwright + chromium' , async ( ) => {
129
+ test ( 'v8 coverage provider throws when not playwright + chromium (browser.name) ' , async ( ) => {
126
130
for ( const { provider, name } of browsers ) {
127
131
if ( provider === 'playwright' && name === 'chromium' ) {
128
132
continue
@@ -152,7 +156,64 @@ Use either:
152
156
{
153
157
"browser": {
154
158
"provider": "playwright",
155
- "name": "chromium"
159
+ "instances": [
160
+ {
161
+ "browser": "chromium"
162
+ }
163
+ ]
164
+ }
165
+ }
166
+
167
+ ...or change your coverage provider to:
168
+ {
169
+ "coverage": {
170
+ "provider": "istanbul"
171
+ }
172
+ }
173
+ ` ,
174
+ )
175
+ }
176
+ } )
177
+
178
+ test ( 'v8 coverage provider throws when not playwright + chromium (browser.instances)' , async ( ) => {
179
+ for ( const { provider, name } of browsers ) {
180
+ if ( provider === 'playwright' && name === 'chromium' ) {
181
+ continue
182
+ }
183
+
184
+ const { stderr } = await runVitest ( {
185
+ coverage : {
186
+ enabled : true ,
187
+ } ,
188
+ browser : {
189
+ enabled : true ,
190
+ provider,
191
+ instances : [ { browser : name } ] ,
192
+ } ,
193
+ } )
194
+
195
+ expect ( stderr ) . toMatch (
196
+ `Error: @vitest/coverage-v8 does not work with
197
+ {
198
+ "browser": {
199
+ "provider": "${ provider } ",
200
+ "instances": [
201
+ {
202
+ "browser": "${ name } "
203
+ }
204
+ ]
205
+ }
206
+ }
207
+
208
+ Use either:
209
+ {
210
+ "browser": {
211
+ "provider": "playwright",
212
+ "instances": [
213
+ {
214
+ "browser": "chromium"
215
+ }
216
+ ]
156
217
}
157
218
}
158
219
@@ -167,14 +228,75 @@ Use either:
167
228
}
168
229
} )
169
230
231
+ test ( 'v8 coverage provider throws when using chromium and other non-chromium browser' , async ( ) => {
232
+ const { stderr } = await runVitest ( {
233
+ coverage : {
234
+ enabled : true ,
235
+ } ,
236
+ browser : {
237
+ enabled : true ,
238
+ headless : true ,
239
+ provider : 'playwright' ,
240
+ instances : [
241
+ { browser : 'chromium' } ,
242
+ { browser : 'firefox' } ,
243
+ { browser : 'webkit' } ,
244
+ ] ,
245
+ } ,
246
+ } )
247
+
248
+ expect ( stderr ) . toMatch (
249
+ `Error: @vitest/coverage-v8 does not work with
250
+ {
251
+ "browser": {
252
+ "provider": "playwright",
253
+ "instances": [
254
+ {
255
+ "browser": "chromium"
256
+ },
257
+ {
258
+ "browser": "firefox"
259
+ },
260
+ {
261
+ "browser": "webkit"
262
+ }
263
+ ]
264
+ }
265
+ }
266
+
267
+ Use either:
268
+ {
269
+ "browser": {
270
+ "provider": "playwright",
271
+ "instances": [
272
+ {
273
+ "browser": "chromium"
274
+ }
275
+ ]
276
+ }
277
+ }
278
+
279
+ ...or change your coverage provider to:
280
+ {
281
+ "coverage": {
282
+ "provider": "istanbul"
283
+ }
284
+ }` ,
285
+ )
286
+ } )
287
+
170
288
test ( 'v8 coverage provider cannot be used in workspace without playwright + chromium' , async ( ) => {
171
289
const { stderr } = await runVitest ( { coverage : { enabled : true } , workspace : './fixtures/workspace/browser/workspace-with-browser.ts' } )
172
290
expect ( stderr ) . toMatch (
173
291
`Error: @vitest/coverage-v8 does not work with
174
292
{
175
293
"browser": {
176
294
"provider": "webdriverio",
177
- "name": "chrome"
295
+ "instances": [
296
+ {
297
+ "browser": "chrome"
298
+ }
299
+ ]
178
300
}
179
301
}` ,
180
302
)
0 commit comments