开玩笑不使用组件的默认值

时间:2020-04-01 18:06:36

标签: reactjs unit-testing jestjs

当我开玩笑地运行测试时,它返回

expect(received).toEqual(expected) // deep equality

    Expected: "name"
    Received: undefined

我不明白为什么Jest没有为任何道具设置默认值。在MyComponent中,如果在调用component时未声明任何默认值,则内置值为默认值。

这是我的笑话

import MyComponent from '../MyComponentFile';
afterEach(cleanup)
configure({ adapter: new Adapter() });

describe('testing components', () => {
  it('Props update properly', ()=>{
    const textWrapper = mount(
      <MyComponent/>);
    expect(textWrapper.prop('prop_one')).toEqual('defaultname1')  
  })
});

组件以以下形式编写:

const MyComponent = (props) => {
var prop_one = props.propone
var prop_twp = props.proptwo
...
//many more props after this
...
//now the defaults
if (prop_one === undefined)
    prop_one = 'defaultname1'
if (prop_two === undefined)
    prop_Two = 'defaultname2'
...and so on

0 个答案:

没有答案