여기서 묻는 질문과 같은 궁금한 점이 있으면 소스로 이동하십시오.
되려고()
expect().toBe()
다음과 같이 정의됩니다.
function toBe() {
return {
compare: function(actual, expected) {
return {
pass: actual === expected
};
}
};
}
테스트는 다음과 ===
같이 사용될 때 실제로 값이있는 expect(foo).toBe(true)
경우에만 통과 함을 의미합니다 . 진실한 가치는 시험을 통과시키지 못합니다.foo
true
toBeTruthy ()
expect().toBeTruthy()
다음과 같이 정의됩니다.
function toBeTruthy() {
return {
compare: function(actual) {
return {
pass: !!actual
};
}
};
}
강제 변환
이 값을 부울로 강제 변환하면 값이 생성되면 값이 진실 true
입니다. 이 작업 은 부울에 !!
전달 된 값을 강제 적용하여 진실성을 테스트합니다 expect
. 반대로 현재 허용 대답은 무엇에주의 의미 , == true
입니다 하지 truthiness에 대한 정확한 테스트. 당신은 같은 재미있는 것들을 얻을 것이다
> "hello" == true
false
> "" == true
false
> [] == true
false
> [1, 2, 3] == true
false
!!
수율을 사용하는 반면 :
> !!"hello"
true
> !!""
false
> !![1, 2, 3]
true
> !![]
true
(예, 비어 있든 아니든 배열은 진실입니다.)
toBeTrue ()
expect().toBeTrue()
Jasmine-Matchers의 일부입니다 ( jasmine-expect
나중에 프로젝트를 jasmine-matchers
먼저 등록한 후 npm에 등록됨 ).
expect().toBeTrue()
다음과 같이 정의됩니다.
function toBeTrue(actual) {
return actual === true ||
is(actual, 'Boolean') &&
actual.valueOf();
}
과의 차이 expect().toBeTrue()
와는 expect().toBe(true)
즉 expect().toBeTrue()
그것이 처리 여부를 테스트 Boolean
객체입니다. expect(new Boolean(true)).toBe(true)
실패하는 반면 expect(new Boolean(true)).toBeTrue()
통과 할 것입니다. 이것은이 재미있는 일 때문입니다.
> new Boolean(true) === true
false
> new Boolean(true) === false
false
적어도 그것은 진실합니다.
> !!new Boolean(true)
true
에 사용하기에 가장 적합한 것은 elem.isDisplayed()
무엇입니까?
궁극적으로 각도기는이 요청을 Selenium에게 전달합니다. 문서 에 의해 생성 된 값을한다고 .isDisplayed()
A와 해결합니다 약속입니다 boolean
. 나는 얼굴 값과 사용에 걸릴 것 .toBeTrue()
나 .toBe(true)
. 구현이 진실 / 거짓 값을 반환하는 경우를 발견하면 버그 보고서를 제출합니다.
.toBe(true)
== 생각.toBeTrue()
합니다. toBeTruthy ()는 true 일 때뿐만 아니라 123 일 때 "dfgdfg", [1,2,3] 등if(x==true)
은 기본적으로if(x===true)
진실한 반면, 진실한 것은 사실입니다.