Я создаю приложение Nuxt с TypeScript и хочу провести модульное тестирование с помощью AVA. Однако, когда я пытаюсь запустить тест, я получаю:
✖ Не могу найти какие-либо файлы для тестирования
У меня установлено @nuxt/typescript-build
и добавлено в мой nuxt.config.js
Структура проекта (исключая такие вещи, как пакет. json):
- components/
- CardItem.vue
- test/
- specs/
-CardItem.spec.ts
- ava.setup.js
- ava.config.cjs
- nuxt.config.js
- tsconfig.json
Это мой ava.config.cjs
:
module.exports = () => {
return {
require: ['./test/ava.setup.js'],
ignoredByWatcher: ['!**/*.{js,vue}'],
babel: true,
tap: false,
verbose: false,
color: true
}
}
Это мой ava.setup.js
:
require('browser-env')()
const hooks = require('require-extension-hooks')
const Vue = require('vue')
Vue.config.productionTip = false
window.Date = global.Date = Date
hooks('vue')
.plugin('vue')
.push()
hooks(['vue', 'js'])
.exclude(({ filename }) => filename.match(/\/node_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
:
import test from 'ava'
import { shallowMount } from '@vue/test-utils'
import CardItem from '@/components/CardItem.vue'
test('renders it\'s graphic', async t => {
const wrapper = shallowMount(CardItem)
t.fail()
})