我正在尝试模拟react bootstrap
下面是一个使用
// mymodal.js
import React from 'react'
import {Modal, Button} from 'react-bootstrap'
const MyModal = ({ visible, hide, title, onOk }) =>
<Modal show={visible} onHide={hide}>
<div className='simple-modal'>
<Modal.Header closeButton>{title}</Modal.Header>
<Modal.Body>
<div>I'm body</div>
</Modal.Body>
<Modal.Footer>
<Button className='invert-primary' onClick={hide}>
Cancel
</Button>
<Button bsStyle='primary' onClick={onOk}>
Ok
</Button>
</Modal.Footer>
</div>
</Modal>
export default MyModal
下面是它的基本快照测试:
// mymodal.test.js
import renderer from 'react-test-renderer'
import * as React from 'react'
import MyModal from './mymodal'
jest.mock('react-bootstrap', () => {
function Modal(props) {
return <div>{props.children}</div>
}
Modal.Header = 'Modal.Header'
Modal.Body = 'Modal.Body'
Modal.Footer = 'Modal.Footer'
return({
Modal: Modal,
Button: 'Button',
})
})
describe('MyModal component', () => {
test('should render a modal', () => {
const modal = renderer.create(<MyModal
visible={true}
hide={() => ''}
onOk={() => ''}
title='Title' />)
expect(modal.toJSON()).toMatchSnapshot()
})
})
下面是快照:
// Jest Snapshot v1
exports[`MyModal component should render a modal 1`] = `
<div>
<div
className="simple-modal"
>
<Modal.Header
closeButton={true}
>
Title
</Modal.Header>
<Modal.Body>
<div>
I'm body
</div>
</Modal.Body>
<Modal.Footer>
<Button
className="invert-primary"
onClick={[Function]}
>
Cancel
</Button>
<Button
bsStyle="primary"
onClick={[Function]}
>
Ok
</Button>
</Modal.Footer>
</div>
</div>
`;
我对快照结果很满意,但是我想为
获得更好的输出
如何通过模仿来实现这一点?
我找不到通过开玩笑来达到这个目的的方法。最后,我使用了Ezyme浅层渲染,它处理基本的开箱模拟。为了进行spanshot匹配,我使用enzyme-To-json
npm包序列化了酶包装。
问题内容: 我有一个React组件,其中包含一些其他组件,这些组件依赖于对Redux存储等的访问,这会在执行完整的酶安装时引起问题。假设这样的结构: 我想使用Jest的方法来模拟子组件,因此测试无需担心。 我知道我可以通过以下方式模拟出一个简单的组件: 但是,由于该组件通常会接收道具,因此React会感到不安,并发出有关将未知道具(在本例中为)传递给的警告。 我试图返回一个函数,但是由于悬挂了,所
假设我们有两个路由:和 根容器(装载时)检查是否存在,如果存在,则从API获取数据并填充。否则,相关的将保持为空。 此对象被发送到具有以下内容的子组件: 我现在遇到的问题是,当我发送一个空对象时,没有任何渲染。这个问题与空对象有关吗?据我所知,属性可以像这样在Vue中动态添加。 如果您需要更多信息,请询问!
问题内容: 我正在使用ref为组件编写测试。我想模拟ref元素并更改一些属性,但不知道如何做。有什么建议? 问题答案: 根据https://github.com/airbnb/enzyme/issues/1937中的讨论,这就是解决方案 可以使用非箭头函数对类进行猴子修补,其中“ this”关键字将传递到正确的作用域。
我看了已经问过的问题,但没有一个能够解决我的问题。 < code > https://stack overflow . com/questions/45534187/path-and-formdata-parameter-at-same-time < code > https://stack overflow . com/questions/50562971/swagger-editor-show
我正在开发一个带有样式组件的反应应用程序,我有一个组件“导航”。在这个组件中有更多的组件,如,等。Header例如是这样声明的: 问题是,我在不同的文件中有这个导航组件,对于所有文件,样式都很好,但现在我只想在其中一个文件中更改标题组件的背景色,它位于(?)导航组件。我该怎么做?我知道可以用const NewNav=styled(导航)之类的东西从导航组件更改样式,`但是标题呢? 先谢谢你。