我们的测试套件包括大量测试,可确保显示vee-validate消息。为此,我们创建一个包装器:
wrapper = shallowMount(SetPasswordForm, {
i18n,
sync: false,
localVue,
propsData: {
user: {
emailAddress: 'afake@email.com'
}
}
})
设置数据,单击提交,然后单击await flushPromises
以给vee-validate时间以显示警告。
it('renders minimum length error and has no match error', async () => {
wrapper.setData({
password: 'sut',
confirmPassword: 'sut'
})
wrapper.find('button.primary-action-btn').trigger('click')
await flushPromises()
expect(wrapper.text()).to.include('This field has a min length of 10')
expect(wrapper.vm.errors.count()).to.equal(2)
})
但是,我们在整个应用程序中都执行了很多操作,并且使用await flushPromises
的每个测试的运行时间都越来越长。我说的是每个测试增加约100毫秒。我们有180个单元测试,套件中的最终测试最多需要3秒钟才能运行。
那正常吗?我认为不是。我们是否经常打电话给await flushPromises
?这是我们测试套件的问题,还是实际上是内存泄漏?