Skip to content

Commit 29f98cd

Browse files
authoredFeb 27, 2024··
fix(workspace): throw error when browser mode and @vitest/coverage-v8 are used (#5250)
1 parent b9d378f commit 29f98cd

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed
 

‎packages/vitest/src/node/workspace.ts

+9-2
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,15 @@ export class WorkspaceProject {
297297
}
298298

299299
async setServer(options: UserConfig, server: ViteDevServer) {
300-
this.config = resolveConfig(this.ctx.mode, options, server.config)
300+
this.config = resolveConfig(
301+
this.ctx.mode,
302+
{
303+
...options,
304+
coverage: this.ctx.config.coverage,
305+
},
306+
server.config,
307+
)
308+
301309
this.server = server
302310

303311
this.vitenode = new ViteNodeServer(server, this.config.server)
@@ -329,7 +337,6 @@ export class WorkspaceProject {
329337

330338
return deepMerge({
331339
...this.config,
332-
coverage: this.ctx.config.coverage,
333340

334341
poolOptions: {
335342
forks: {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { defineWorkspace } from "vitest/config";
2+
3+
export default defineWorkspace([
4+
{
5+
test: {
6+
name: "Browser project",
7+
browser: {
8+
enabled: true,
9+
name: 'chrome'
10+
},
11+
}
12+
}
13+
])

‎test/config/test/failures.test.ts

+6
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ test('v8 coverage provider cannot be used with browser', async () => {
6161
expect(stderr).toMatch('Error: @vitest/coverage-v8 does not work with --browser. Use @vitest/coverage-istanbul instead')
6262
})
6363

64+
test('v8 coverage provider cannot be used with browser in workspace', async () => {
65+
const { stderr } = await runVitest({ coverage: { enabled: true }, workspace: './fixtures/workspace/browser/workspace-with-browser.ts' })
66+
67+
expect(stderr).toMatch('Error: @vitest/coverage-v8 does not work with --browser. Use @vitest/coverage-istanbul instead')
68+
})
69+
6470
test('version number is printed when coverage provider fails to load', async () => {
6571
const { stderr, stdout } = await runVitest({
6672
coverage: {

0 commit comments

Comments
 (0)
Please sign in to comment.