gpt4 book ai didi

javascript - 如何避免在每个测试文件中导入组件所需的所有内容?

转载 作者:行者123 更新时间:2023-12-04 21:01:45 25 4
gpt4 key购买 nike

在我的 Jest 测试中,我需要导入被测试组件需要工作的所有内容(我在我的应用程序的 main.js 中执行此操作)。由于我有多个测试文件,我需要在每个文件中“重新导入”它。有没有办法将它全部导入一个文件,然后只导入这个文件?

import Component from '@/views/input-something'
import {mount, shallowMount} from '@vue/test-utils'
import {FontAwesomeIcon} from '@fortawesome/vue-fontawesome'
import {library} from '@fortawesome/fontawesome-svg-core'
import {fas} from '@fortawesome/free-solid-svg-icons'
import 'bootstrap-vue/dist/bootstrap-vue.css'
import 'bootstrap/dist/css/bootstrap.css'
import BootstrapVue from 'bootstrap-vue'
import 'vue-select/dist/vue-select.css'
import Vuelidate from 'vuelidate'
import Vue from 'vue'
import './helpers/multi-ref-test-runner'

Vue.component('font-awesome-icon', FontAwesomeIcon)
Vue.use(BootstrapVue)
Vue.use(Vuelidate)
library.add(fas)

// I wish to write everything above in a single file

window.confirm = function() { return false; }

describe('input-something', () => {
let wrapper;
beforeEach(() => {
wrapper = mount(Component, {...});
});

it('it renders', () => {});
});

我希望在文件中导入我需要的所有内容,例如 helper.js
然后在我的测试文件中,我会做类似的事情

import 'test-helpers/helper';

describe('input-something', () => {...})

编辑 1

过了一会儿,我能够以这种方式导入所有我需要的东西

/* imports.js */
import Component from '@/components/something'
import { mount } from '@vue/test-utils'

export { Component, mount }

/* my-test.js */
import { Component, mount } from './imports.js'

并将这一行添加到我的 .babelrc 中(以便能够使用 jest)
"plugins": ["@babel/plugin-syntax-dynamic-import"]

然后我可以使用我导入的所有属性。
尽管它是以这种方式工作的,但我想使用这些属性(组件、挂载...)而不必隐式导入每个属性。
有没有办法做到这一点?

最佳答案

  • 创建一个单独的js文件
  • 导入组件或插件或任何你想要的东西
  • 将该文件导入 main.js 文件

  • 例如:
    这是我单独的 可重用组件.js
    // I include components and plugins here
    ...
    import Component from '@/views/input-something'
    import {mount, shallowMount} from '@vue/test-utils'
    import {FontAwesomeIcon} from '@fortawesome/vue-fontawesome'
    ...

    现在在 app.js
    import('path to reuseableComponets.js')

    而已。

    关于javascript - 如何避免在每个测试文件中导入组件所需的所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58663933/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com