酶挂载/浅层一次,勾上摩卡
Enzyme Mount/Shallow once on before hook on Mocha
我有一个组件,我安装/加载每个测试用例,我发现这是多余的。把它挂在before
钩上是个好主意吗?或者我以后可能会遇到问题,特别是当我要在组件上设置状态或道具时?
import React from 'react';
import {mount,shallow} from 'enzyme';
import {expect} from 'chai';
import ScheduleApp from '../src/components/schedule-app.jsx';
import ScheduleForm from '../src/components/schedule-form.jsx';
import ScheduleTable from '../src/components/schedule-result-table.jsx';
describe('<ScheduleApp/>', function() {
describe('Initial Mount', function() {
let wrapper;
before(function() {
wrapper = mount(<ScheduleApp />);
});
it('contains 1 <ScheduleForm/> component', function() {
expect(wrapper.find(ScheduleForm)).to.have.length(1);
});
it('contains 1 <ScheduleTable/> component', function() {
expect(wrapper.find(ScheduleTable)).to.have.length(1);
});
});
});
如果你不打算用不同的道具测试Schedule App,你不需要在每种情况下都挂载它。
您也不需要导入子组件(ScheduleForm和ScheduleTable)来告诉酶找到它们。根据子组件的显示名称查找子组件。
你可以将上面的代码重构为import React from 'react';
import { mount } from 'enzyme';
import { expect } from 'chai';
import ScheduleApp from '../src/components/schedule-app.jsx';
describe('<ScheduleApp/>', function() {
describe('Initial Mount', function() {
const wrapper = mount(<ScheduleApp />);
it('contains 1 <ScheduleForm /> component', function() {
expect(wrapper.find('ScheduleForm')).to.have.length(1);
});
it('contains 1 <ScheduleTable /> component', function() {
expect(wrapper.find('ScheduleTable')).to.have.length(1);
});
});
});
相关文章:
- 一次又一次地在新的和相同的选项卡中打开一个url
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- JavaScript选项卡动态宽度.animate()只能工作一次
- 随机卡只生成一次
- 从命令行一次运行大量摩卡测试的好方法是什么
- 对两个不同的输入重复一组摩卡测试
- 我怎样才能开始使用摩卡并进行我的第一次测试
- 我正在尝试在 JavaScript 中创建选项卡式内容,但它只工作一次
- jQuery Accordian - 帮助一次只打开一个顶级选项卡.单击一个选项卡打开其他选项卡时,将关闭
- 在“选择将打开选项卡更改为新url”上.但是,如果在下一次选择更改时关闭了选项卡,该怎么办
- 在“;选择“;只更新一次新选项卡中打开的url
- 使用jquery确保一次只折叠一个选项卡
- 如何在单击按钮时添加动态选项卡,但只能单击一次
- 为什么相同的摩卡测试会在第一次测试后失败?
- 摩卡力在无数次重试后失败
- Javascript:在多个选项卡中播放一次音频
- 酶挂载/浅层一次,勾上摩卡
- Firefox插件SDK:在新选项卡中只运行一次内容脚本
- jquery ui选项卡和jquery插件-插件只初始化一次
- jQueryUI:一次重新加载所有选项卡