これは私のメッセンジャーのように見えます。ご覧のとおり、メインコンポーネントとリストコンポーネントがあります。メインコンポーネントはデフォルトとしてエクスポートされます。 これは私のアプリケーションではすべて期待どおりに動作しています。React/enzyme:サブコンポーネントのテスト方法は?
/imports/ui/components/messenger.jsx
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { Container, Segment, Loader, Header } from 'semantic-ui-react'
class Messenger extends Component {
static get propTypes() {
return {
data: PropTypes.array,
articleId: PropTypes.string,
isLoading: PropTypes.bool
}
}
render() {
const { data, articleId, isLoading } = this.props
if (isLoading) { return (<Loader active inverted size='massive' className='animated fadeIn' />) }
if (articleId) { return (<MessengerList data={data} articleId={articleId} />) }
return (
<Container>
<Segment id='' className='m-b-1'>
<Header as='h1'>Title</Header>
<MessengerList data={data} />
</Segment>
</Container>
)
}
}
class MessengerList extends Component {
/* ... */
}
export default Messenger
今私は、酵素を用いて主成分のためにいくつかのユニットテストを行うにしたいと思います。これは私がやっている方法ですが、MessengerList
が定義されていないため、最後のテストに失敗しています。それで、どうすればいいのですか?私はテストで
export class MessengerList extends Component {
/* ... */
}
そして.... export default Messenger
を明記してください。 (MessengerList).length).to.equal(1); ' – dcodesmith
エクスポートされていないため、インポートできません。 jsxファイルに保存します。メインコンポーネントのみがエクスポートされます(デフォルトで) – user3142695
同じファイル内に両方のコンポーネントがありますか? – dcodesmith