タグ付けされた質問 「enzyme」

3
React Enzymeが2番目(またはn番目)のノードを見つける
Jasmine Enzymeの浅いレンダリングでReactコンポーネントをテストしています。 この質問のためにここでは簡略化しています... function MyOuterComponent() { return ( <div> ... <MyInnerComponent title="Hello" /> ... <MyInnerComponent title="Good-bye" /> ... </div> ) } MyOuterComponentの2つのインスタンスがMyInnerComponentあり、それぞれで小道具をテストしたいと思います。 最初にテストする方法を知っています。で使用findしていfirstます... expect(component.find('MyInnerComponent').first()).toHaveProp('title', 'Hello'); ただし、の2番目のインスタンスをテストするのに苦労していますMyInnerComponent。 このようなものがうまくいくことを願っていました... expect(component.find('MyInnerComponent').second()).toHaveProp('title', 'Good-bye'); またはこれ... expect(component.find('MyInnerComponent')[1]).toHaveProp('title', 'Good-bye'); しかし、もちろん上記のどちらも機能しません。 私は明らかなことを逃しているように感じます。 しかし、ドキュメントを調べても、類似した例はありません。 誰でも?
128 reactjs  jasmine  enzyme 

2
Enzyme / Reactテストでレンダーとシャローをいつ使用すべきですか?
この質問を投稿する前に、sqa stackexchangeで検索してみましたが、浅い投稿は見つかりませんでした。そこで、誰かが私を助けてくれるといいのですが。 反応コンポーネントのテストでシャローおよびレンダリングを使用する必要があるのはいつですか?airbnb docsに基づいて、私は2つの違いについていくつかの意見を述べました: シャローはコンポーネントを1つの単位としてテストするので、「親」コンポーネントに使用する必要があります。(例:テーブル、ラッパーなど) レンダーは子コンポーネント用です。 私がこの質問をした理由は、どちらを使用するべきかを判断するのに苦労しているためです(ドキュメントには非常によく似ていると記載されていますが)。 それで、特定のシナリオでどれを使用するかをどうやって知るのですか?

16
酵素-<input>値にアクセスして設定する方法は?
を&lt;input&gt;使用するときに値にアクセスする方法について混乱していますmount。これが私のテストとして得たものです: it('cancels changes when user presses esc', done =&gt; { const wrapper = mount(&lt;EditableText defaultValue="Hello" /&gt;); const input = wrapper.find('input'); console.log(input.render().attr('value')); input.simulate('focus'); done(); }); コンソールが印刷されundefinedます。しかし、コードを少し変更すると、機能します。 it('cancels changes when user presses esc', done =&gt; { const wrapper = render(&lt;EditableText defaultValue="Hello" /&gt;); const input = wrapper.find('input'); console.log(input.val()); input.simulate('focus'); done(); }); もちろん、input.simulate私がrender今使っているので、回線が失敗することを除いて。正しく動作するには両方が必要です。これを修正するにはどうすればよいですか? 編集: …

6
Jestでボタンクリックをシミュレートする
ボタンクリックのシミュレーションは、非常に簡単で標準的な操作のようです。それでも、Jest.jsテストで動作させることはできません。 これは私が試したものです(そしてjQueryを使用してそれを実行しました)が、何もトリガーされなかったようです: import { mount } from 'enzyme'; page = &lt;MyCoolPage /&gt;; pageMounted = mount(page); const button = pageMounted.find('#some_button'); expect(button.length).toBe(1); // It finds it alright button.simulate('click'); // Nothing happens

4
jestでuseHistoryフックをモックする方法は?
typescriptを使用して反応ルーターv5.1.2でUseHistoryフックを使用していますか?単体テストを実行すると、問題が発生します。 TypeError:未定義のプロパティ 'history'を読み取れません。 import { mount } from 'enzyme'; import React from 'react'; import {Action} from 'history'; import * as router from 'react-router'; import { QuestionContainer } from './QuestionsContainer'; describe('My questions container', () =&gt; { beforeEach(() =&gt; { const historyHistory= { replace: jest.fn(), length: 0, location: { pathname: '', search: …

1
JESTテストのgetComputedStyle()がChrome / Firefox DevToolsの計算されたスタイルに異なる結果を返すのはなぜですか
material-uiにMyStyledButton基づくカスタムボタン()を作成しました。 Button import React from "react"; import { Button } from "@material-ui/core"; import { makeStyles } from "@material-ui/styles"; const useStyles = makeStyles({ root: { minWidth: 100 } }); function MyStyledButton(props) { const buttonStyle = useStyles(props); const { children, width, ...others } = props; return ( &lt;Button classes={{ root: buttonStyle.root }} …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.