こんにちは、フックのテストを始めたばかりなので、本当に迷っています。答えを見つけようとしましたが、結果はありませんでした。
問題は、useEffect
このコードからどのようにテストできるかということです。
コード:
const [ range, setRange ] = useState(DATE_OPTIONS.LAST_30_DAYS)
const [ isLoading, setIsLoading ] = useState(true)
const startLoading = () => setIsLoading(true)
const stopLoading = () => setIsLoading(false)
useEffect(() => {
startLoading()
fetchYearlyOptiDrive(range, objectId)
.then(stopLoading)
.catch(stopLoading)
}, [range, objectId])
そして、コードからテストしたいのはLoadingIndicator
、小道具をチェックするisLoading
ことtrue
ですfalse
。
<LoadingIndicator {...{ isLoading }} />
テスト:
test('should return the default value', () => {
const wrapper = mount(<OptiDriveCard {...props} />)
expect(wrapper.find('LoadingIndicator').props).toBeTruthy()
})
エラー:
不変違反: 要素の型が無効です: 文字列 (組み込みコンポーネントの場合) またはクラス/関数 (複合コンポーネントの場合) が必要ですが、取得: 未定義
なにか提案を?