react+enzyme을 사용하여 요소 텍스트를 선택하는 방법
딱 그렇게 써있네요.코드 예시:
let wrapper = shallow(<div><button class='btn btn-primary'>OK</button></div>);
const b = wrapper.find('.btn');
expect(b.text()).to.be.eql('OK'); // fail
또,htmlmethod는 요소의 내용뿐만 아니라 요소 자체와 모든 속성을 반환합니다(예:<button class='btn btn-primary'>OK</button>그럼 최악의 경우엔 전화할 수 있겠네요html다시 만들긴 하지만...
내가 단언할 수 있도록 요소의 내용을 얻을 수 있는 방법은 없을까?
"텍스트 포함"을 검색하다가 이 항목을 발견한 경우 다음을 시도해 보십시오.
it('should show correct text', () => {
const wrapper = shallow(<MyComponent />);
expect(wrapper.text().includes('my text')).toBe(true);
});
노드(ReactElement)를 전달하고 있음을 잊지 마십시오.shallowHTML Atribute는 없습니다.class반응합니다.사용하셔야 합니다.className.
From React 문서
모든 Atribute는 camel-case이며 Atribute는
class그리고.for이다className그리고.htmlForDOM API 사양과 일치합니다.
이 테스트는 유효합니다.
const wrapper = shallow(<div><button className='btn btn-primary'>OK</button></div>);
const button = wrapper.find('.btn');
expect(button.text()).to.be.eql('OK');
아마 @louis-barranqueiro가 당신의 근본적인 질문에 답했을 것입니다.즉, CSS 셀렉터가 필요하기 때문에 CSS 셀렉터를 사용하여className것은 아니다.class.
그러나 실제 예제를 사용하여 요소의 텍스트를 선택하는 방법에 대한 질문에 답하려면 다음과 같이 하십시오.
let wrapper = shallow(<div><button class='btn btn-primary'>OK</button></div>);
오브젝트 속성 셀렉터 같은 것을 사용해야 합니다.예를 들어 다음과 같습니다.
expect(wrapper.find({ class: "btn btn-primary" }).text()).to.equal('OK');
또는 prop 구문:
expect(wrapper.find('[class="btn btn-primary"]').text()).to.equal('OK');
(또는 보다 명확하게):
expect(wrapper.find('button[class="btn btn-primary"]').text()).to.equal('OK');
이 게시물을 검색하던 중 우연히 이 게시물을 보게 되었습니다.textarea이내에jest그리고.enzyme같은 것을 찾고 있는 유저의 경우는, 다음의 몇개의 텍스트를 선택할 수 있습니다(길이를 이미 알고 있는 경우).
let wrapper;
let textareaNode;
beforeEach(() => {
wrapper = mount(<Textarea value="Hello world" />);
textareaNode = () => wrapper.find("textarea").getDOMNode();
});
it("selects all of the select within the given range", () => {
textareaNode().setSelectionRange(0, 6);
wrapper.find("button").simulate("click"); // this would delete the selection via a ref
expect(wrapper.find("textarea").props().value).toEqual("world");
});
언급URL : https://stackoverflow.com/questions/38277165/how-to-select-element-text-with-reactenzyme
'programing' 카테고리의 다른 글
| 각도가 있는 옵션 선택에서 공백 옵션 제거JS (0) | 2023.03.14 |
|---|---|
| React를 사용하여 현재 전체 URL을 읽으시겠습니까? (0) | 2023.03.14 |
| 굴절기 사용 시 단일 특정 테스트 케이스를 실행하는 방법 (0) | 2023.03.14 |
| 각도로 이벤트를 테스트하려면 어떻게 해야 합니까? (0) | 2023.03.14 |
| 스웨거 API 스키마에 대한 JSON 검증 (0) | 2023.03.14 |