使用AVA和TypeScript测试Nuxtjs应用程序
我正在用TypeScript创建一个Nuxt应用程序,并想用AVA进行单元测试。但是,当我尝试运行测试时,我得到: ✖ 找不到任何要测试的文件 我已经安装了使用AVA和TypeScript测试Nuxtjs应用程序,typescript,unit-testing,vue.js,nuxt.js,ava,Typescript,Unit Testing,Vue.js,Nuxt.js,Ava,我正在用TypeScript创建一个Nuxt应用程序,并想用AVA进行单元测试。但是,当我尝试运行测试时,我得到: ✖ 找不到任何要测试的文件 我已经安装了@numxt/typescript build并将其添加到我的numxt.config.js 项目结构(不包括package.json之类的内容): 这是我的ava.config.cjs: module.exports=()=>{ 返回{ 要求:['./test/ava.setup.js'], ignoredByWatcher:['!***/
@numxt/typescript build
并将其添加到我的numxt.config.js
项目结构(不包括package.json之类的内容):
这是我的ava.config.cjs
:
module.exports=()=>{
返回{
要求:['./test/ava.setup.js'],
ignoredByWatcher:['!***/.{js,vue}'],
巴贝尔:没错,
塔普:错,
冗长:错,
颜色:真的
}
}
这是我的ava.setup.js
:
require('browser-env')()
const hooks=require('require-extension-hooks')
常量Vue=require('Vue')
Vue.config.productionTip=false
window.Date=global.Date=Date
挂钩('vue')
.plugin('vue')
.push()
钩子(['vue','js']))
.exclude(({filename})=>filename.match(/\/node\u modules\//)
.plugin('babel')
.push()
这是我的tsconfig.json
:
{
"compilerOptions": {
"target": "es2018",
"module": "esnext",
"moduleResolution": "node",
"lib": ["esnext", "esnext.asynciterable", "dom"],
"esModuleInterop": true,
"allowJs": true,
"sourceMap": true,
"strict": true,
"noEmit": true,
"baseUrl": ".",
"paths": {
"~/*": ["./*"],
"@/*": ["./*"]
},
"types": ["@types/node", "@nuxt/types"]
},
"exclude": ["node_modules"]
}
这是我的CardItem.spec.ts
:
从“ava”导入测试
从'@vue/test-utils'导入{shallowMount}
从“@/components/CardItem.vue”导入CardItem
test('呈现图形',异步t=>{
常量包装=浅量(卡迪姆)
t、 失败()
})
根据,默认情况下,Ava不查找typescript文件扩展名。看起来你也需要,所以我建议你先看一下自述
{
"compilerOptions": {
"target": "es2018",
"module": "esnext",
"moduleResolution": "node",
"lib": ["esnext", "esnext.asynciterable", "dom"],
"esModuleInterop": true,
"allowJs": true,
"sourceMap": true,
"strict": true,
"noEmit": true,
"baseUrl": ".",
"paths": {
"~/*": ["./*"],
"@/*": ["./*"]
},
"types": ["@types/node", "@nuxt/types"]
},
"exclude": ["node_modules"]
}