2016-06-28 3 views
2

특히 : 나는사용자 정의 예상 체인 요소를 추가하는 방법은 무엇입니까?

expect.element('...').text.to.equal('...')

체인에 "removeWhitespace"를 삽입하고 싶습니다. 그러므로 그것은 다음과 같이 표시됩니다

expect.element('...').text.removeWhitespace.to.equal(...)

이유 : 나는이 주장에 금액과 공백의 유형에 대해 신경 싶지 않아, 난 그냥 문자를 비교합니다.

보다 일반적인 : 나는 어설 션에서 처리중인 데이터를 조작하기 위해 예상 체인에 사용자 지정 요소를 추가하고 싶습니다. 또는 다른 말로하면 : 커스텀 어설 션으로 가능한 한 내 기대 체인 요소를 정의하고 등록하고 싶습니다. 어떻게해야합니까?

답변

0

그러나 사용자 정의를 추가 할 필요가 없습니다은 다음과 같이 문자열을 래핑하는 함수를 추가 기대 :

expect.element(removeWhiteSpaces('...')).text.to.equal('...') 

function removeWhiteSpaces(string){ 
    return string.trim(); 
} 

당신은 당신이 원하는 기능을 사용할 수는 자바 스크립트입니다! 너는 자유 롭다. 그래서 문자열을 먼저 구문 분석하십시오.

그러나 사용자 정의 주장은 nightwatch 가이드 here

+1

우물에 가서 추가해야하는 경우, 그 ("@myElement"같은) 요소의 식별자에서 공백을 제거하지만하지 요소 자체의 HTML 내용에서 . 위의 예에서는 다음과 같이 설명합니다. "요소의 내용 (즉,"텍스트 ")을 가져와 모든 공백을 제거하고 [...]와 비교하여 평등하게 만듭니다." – SiphonariusRatingensis

+0

사용자 정의 어설 션을 추가하는 것은 분명하지만 assert ... pattern을 사용하고 싶지 않습니다. expect ... 패턴을 사용하고 싶습니다. afaik 그들은 한 줄에 섞일 수 없습니까? – SiphonariusRatingensis

관련 문제