簡體   English   中英

酶固定/淺一次掛在摩卡上

[英]Enzyme Mount/Shallow once on before hook on Mocha

我有一個組件,我在每個測試用例中都進行了掛載/精簡,因此發現這很多余。 before掛上鈎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);
    });
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM