当我开玩笑地运行测试时,它返回
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