使用Firebase时应如何测试vue组件?

路易斯·桑多瓦尔

我正在为使用Firebase的Vue项目编写单元测试。测试使用的是vue-test-utils。

事情是我在尝试绕过身份验证时遇到了麻烦,并且在每次测试中我都发现自己正在做这样的事情。

...
const login = async () => {
return firebase.auth().signInWithEmailAndPassword(email, pass).then(
    res => {
        return res
    },
    err => {
        return new Error(err)
    })
}
...
describe('some component', () => {
    it('test something', async () => {
        try {
            await login()
            ...
        } catch (e) {
            ...
        }
    })
    it('test something else', async () => {
        try {
            await login()
            ...
        } catch (e) {
            ...
        }
    })
})

我的问题是。建议使用哪种方法来测试使用Firebase的Vue组件,以及如何避免每次测试都必须登录?

希望我能正确解释我的问题!

我最终做了这个,因为就我而言,一次就足够了。

...
beforeAll(() => {
  return login()
})

describe('some component', ...
贾克斯

一种方法是在测试套件中使用beforeEach函数来进行身份验证/检查身份验证是否仍然有效,只需:

beforeEach(() => {
    try {
        await login()
        ...
    } catch (e) {
        ...
    }
})

但是,您是否直接在vue组件中执行此逻辑?理想情况下,您不想直接从vue组件进行此类调用。如果您将该逻辑从组件中移出并移到服务类中(或者更进一步,并使用vuex来管理状态等。),则可以将Firebase逻辑与组件逻辑分开进行测试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Jest测试JSX Vue组件

使用Vuex时如何测试Vuejs组件

测试Vue组件时如何模拟侧面插件?

使用Vuex测试Vue组件时,为什么需要createLocalVue?

Vue2:在测试包含功能子组件的组件时,如何从子组件发出事件?

Vue如何使用插槽和插槽属性测试组件

使用redux时,应如何在React组件中处理退订?

测试Web组件时如何使用Cypress通过<slot>查询

不使用npm时如何加载外部Vue组件

使用Jest测试类组件Firebase操作

使用Firebase的组件的Java单元测试

测试时如何从组件获取属性?

如何测试普通Vue组件(不是单个文件组件)

当组件使用事件时使用酶测试 React 组件

ng测试给出了组件应创建的

Vue,Vuex:如何使用命名空间存储和模拟对组件进行单元测试?

如何为使用Vuex存储的Vue表单组件编写Jest单元测试?

如何使用Jest对Vue.js组件中的方法进行单元测试

如何对使用nuxt-i18n的Vue.js组件进行单元测试

Jest在测试Vue单个文件组件时遇到意外令牌

Vue单元测试:如何使用道具,Vuex商店,观察者,吸气剂等测试复杂的组件

如何使用赛普拉斯端到端快照测试来测试Vue单个文件组件

如何在使用 react-testing 库进行测试时渲染两个组件?

使用Cucumber将输出发送到数据库时,如何测试组件?

使用酶进行测试时,如何在 React 组件中模拟“this.props”?

如何使用内部的<Router>标签测试组件?

如何使用“ entryComponents”来浅化测试组件?

如何使用useReducer挂钩测试组件?

如何使用Jest测试异步组件?