typescript - 為什麼 Vitest 的覆蓋率報告會報告一個僅導出枚舉的檔案?
我們採用 100% 分支覆蓋率政策。我們不追蹤函數或程式碼行。我們發現這是在程式碼覆蓋率與生產力之間的最佳平衡。我們目前遇到的問題是 vitest 報告以下檔案有兩個分支:
export enum URL {
preSignedUploadUrl = '/case-document/upload/api?fileType=',
saveDocumentUploadToMongoUrl = '/case-document/upload/api?caseReference=',
}
如果我加入以下測試,分支會被覆蓋,但如你所見,它們不是單元測試,且沒有任何有價值的用途
import {describe} from 'vitest'
import {URL} from '@config/urls'
describe('urls', () => {
it('has the correct URLs', () => {
expect(URL.preSignedUploadUrl).toEqual(
'/case-document/upload/api?fileType=',
)
expect(URL.saveDocumentUploadToMongoUrl).toEqual(
'/case-document/upload/api?caseReference=',
)
})
})
設定
const config = {
plugins: [react()],
test: {
coverage: {
provider: 'istanbul',
reporter: ['cobertura', 'json', 'html', 'text-summary'],
reportsDirectory: './coverage',
branches: 100,
all: true,
include: ['**/*.ts', '**/*.tsx'],
exclude: ['**/*.spec.ts', '**/*.spec.tsx', '.next/*'],
src: process.cwd() + '/src',
},
setupFiles: './setupTests.js',
exclude: [...configDefaults.exclude, './.next/'],
environment: 'happy-dom',
},
}
export default defineConfig(config)

