@types/2.5.46
ν¨ν€μ§λ₯Ό μ¬μ©ν΄ 보μλλ° λ¬Έμ κ° λ°μνμ΅λλ€.Definitions by:
in index.d.ts
)κ° μλ΅ν μ μλλ‘ .2.5.45μμλ λ€μκ³Ό κ°μ΄ ν μ μμμ΅λλ€.
expect(element(by.id('id')).getAttribute('attr')).toEqual('myValue');
μ΄μ κ·Έκ²μ λμκ² μ€λ₯λ₯Ό μ 곡ν©λλ€
TS2345:Argument of type '"myValue"' is not assignable to parameter of type 'Expected<Promise<string>>'.
getAttribute λ€μμ .toStringμ μΆκ°νλ©΄ λΆνμ΄ μ€μ§λμ§λ§ μλνλμ§ νμ ν μ μμ΅λλ€.
μ, μ΄κ²μ TypeScriptμμ κ°λκΈ°λ₯Ό μ¬μ©νλ λͺ¨λ μ¬λμκ² ν° λ¬Έμ μ λλ€.
Jasmine(λλ μμ νλ κ²½μ° Protractorμ Jasmine λ²μ - νμ€νμ§ μμκ°μ?)μ ν μ€νΈ μμ±μκ° μ½μμ μ§μ ν΄κ²°ν νμ μμ΄ μ½μμ μμν λ€μ μ½μμ ν΄κ²°λ κ°μ ν μ€νΈνλ κ²μ μ§μνλ κ² κ°μ΅λλ€.
@lukas-zech-softwareκ° μΌμΉ νλͺ©μ μΌλ°νν κ² κ°μ΅λλ€. μ΄λ μ λ§ λ©μ§μ§λ§ μ½μμ μ λ¬νκ³ ν΄κ²°λ κ°κ³Ό μΌμΉνλ κ²μ μ€λ¨ν©λλ€.
PRμ μ½λ©νΈ μμ μ΄λ―Έ μΈκΈνλ―μ΄ μ΄κ²μ μ¬μ€λ―Ό νμ΄νμ΄ ν μ μλ κ²μ΄ μλλλ€.
κ°λκΈ°λ κΈ°λ₯μ νμ₯νλ―λ‘ μ΄μ λν μ
λ ₯μ μ 곡ν΄μΌ ν©λλ€.
νμ€ν μ νμ΄ μ§μ λ κ°λκΈ°μ λν μ
λ ₯μ΄ μλ κ²½μ° ν
μ€νΈ μ€μ λ°μνμ κ²μ΄μ§λ§ λ°μνμ§ μμΌλ―λ‘ μ¬κΈ°μμ μμ ν μ μμ΅λλ€.
μ€μ λ‘ κ°λκΈ°λ μ΄μ λν μ
λ ₯μ μ ν μ 곡νμ§ μμΌλ―λ‘ any
λ₯Ό 맀κ°λ³μλ‘ μλ½νλ expect
μ μμ‘΄ν©λλ€.
μ¬μ€λ―Ό μ체μμ μλνμ§ μλ λΉλκΈ° expect
λν νμ΄νμ κ±°μ μΆκ°ν μ μμ΅λλ€.
κ°λκΈ°μ λν λ¬Έμ λ₯Ό μ΄κ³ μ¬μ€λ―Ό μ
λ ₯μ μ¬λ°λ₯΄κ² νμ₯νλλ‘ μμ²νμμμ€.
μ΄ λ¬Έμ κ° ν΄κ²°λ λκΉμ§ λͺ κ°μ§ ν΄κ²° λ°©λ²μ΄ μμ΅λλ€.
νμ΄ν λ²μ μ 2.5.45λ‘ μμ
μ΄κ²μ λ¨μν μ΅μ μμ
λ²μ μ μ¬μ©ν©λλ€.
νμ΄ν λ²μ μ μμ νλ κ²μ SemVerλ₯Ό λ°λ₯Ό μ μκ³ λ§μ΄λ λ²μ μ λ³κ²½νλ©΄ λΉλκ° μ½κ² μμλ μ μκΈ° λλ¬Έμ μ΄μ¨λ λͺ¨λ² μ¬λ‘ κ° λλ κ² κ°μ΅λλ€.
λ€μ λ¬Έμ λ₯Ό μ°Έμ‘°νμμμ€.
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14579
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14569
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14338
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/13994#issuecomment -275949045
expect
λν μΌλ° 맀κ°λ³μλ‘ any
expect
μλ‘μ΄ νμ΄νμ ν΅ν΄ μ΄μ λμμ μ μ§ν μ μμ΅λλ€. any
κ³Ό κ°μ μ νμΌλ‘ μ¬μ©νλλ‘ λͺ
μμ μΌλ‘ μ§μ νκΈ°
expect<any>(element(by.id('id')).getAttribute('attr')).toEqual('myValue');
expect
ν¨μμ λν μ
λ ₯μ μμ±νκ³ νλ‘μ νΈμ μΆκ°ν©λλ€. // UNTESTED CODE!
interface AsyncMatchers<T> extends Matchers<Promise<T>> {
toBe(expected: Expected<T>, expectationFailOutput?: any): boolean;
toEqual(expected: Expected<T>, expectationFailOutput?: any): boolean;
toContain(expected: T, expectationFailOutput?: any): boolean;
not: AsyncMatchers<T>;
}
Aμμ΄ μ½λλ₯Ό μΆκ° protractor.d.ts
λ₯Ό λ³Ό μ μμ΅λλ€ νλ‘μ νΈμ μ΄λκ°μ νμ΄ν μ€ν¬λ¦½νΈ μ»΄νμΌλ¬μ κ·Έκ²μ μ½μμ μ£Όμ΄ λΉμ μ λ¬Έμ λ₯Ό ν΄κ²°ν΄μΌ expect
μμ μ 곡νλ νμμΌλ‘ μ€μ λ‘ κ²°μ toEqual
@lukas-zech-softwareλ₯Ό μ 리ν΄μ£Όμ μ κ°μ¬ν©λλ€. λ€μν μ루μ μ κ°μ¬λ립λλ€. λλ νμ΄νμ μ§κΈμ μ΄μ λ²μ μΌλ‘ μ κ·Έλ κ²μΌλ‘ λλ¬λ€.
λ«μ μ μλ€κ³ μ μνμμμ€.
async / awaitλ₯Ό μ¬μ©νμ¬ μ½μμ "μμ°Έμ‘°"νλ©΄ μλν©λλ€.
μλ₯Ό λ€μ΄ λμ
it('should have header', () => {
let subject = element(by.css('h1')).isPresent();
let result = true;
expect(subject).toEqual(result);
});
κ·Έκ²μ κ°μ§κ³
it('should have header', async () => {
let subject = await element(by.css('h1')).isPresent();
let result = true;
expect(subject).toEqual(result);
});
μμνλ€(
μκ²
μμνλ€
κ·Έκ²μ λλ₯Ό μν΄ μΌνλ€
λ§ν¬ μμ @types/jasminewd
μ€μΉκ° μ μκ² ν¨κ³Όμ μ
λλ€.
beforeEach(() => {
νμ΄μ§ = μλ‘μ΄ xxx();
λΈλΌμ°μ .waitForAngularEnabled(κ±°μ§);
});
μ΄κ²μ λ¬Έμ λ₯Ό ν΄κ²°
μ μκ²λ μ΄ λκΈλΉ tsconfig.e2e.json
μ‘°μ μ΄ ν¨κ³Όκ° μμμ΅λλ€. CLI κ΄λ¦¬ νλ‘μ νΈμμ Angular 4μμ 5λ‘ μ
λ°μ΄νΈν λ λ΄ λ¬Έμ κ° λνλ¬μ΅λλ€.
https://github.com/angular/protractor/issues/4176#issuecomment -310610380
λΆμ νμ±μ μ μ§ν μ μλ€λ©΄ λ€λ₯Έ ν΄κ²° λ°©λ²μ λ¬Έμμ΄μ μ¬μ©νμ¬ toEqualμ μμ νκ³ λμ toContainμ μμ²νλ κ²μ λλ€.
@types/jasminewd2
μ€μΉνλ©΄ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€.
μ μκ²λ μ΄ λκΈλΉ
tsconfig.e2e.json
μ‘°μ μ΄ ν¨κ³Όκ° μμμ΅λλ€. CLI κ΄λ¦¬ νλ‘μ νΈμμ Angular 4μμ 5λ‘ μ λ°μ΄νΈν λ λ΄ λ¬Έμ κ° λνλ¬μ΅λλ€.
κ°λ/κ°λκΈ°#4176(μ½λ©νΈ)
@types/jasminewd2
νκ³ μ΄λ κ² νλ κ²μ΄ μ λ΅μ
λλ€.
@types/jasminewd2
μ€μΉκ° μ λ΅μ΄ μλλλ€.
jasminewd2
λ jasmine v2λ₯Ό λμμΌλ‘ νλ―λ‘ v3μ jasmine μ νκ³Ό λ°λμ ββνΈνλλ κ²μ μλλλ€.any
-dνκΈ° λλ¬Έμ μ°μ°μ μΌμΉμ
λλ€.μ λ΅μ λ€μ μ€ νλμ λλ€.
expectAsync
μ¬μ©νμμμ€.
κ°μ₯ μ μ©ν λκΈ
μ΄ λ¬Έμ κ° ν΄κ²°λ λκΉμ§ λͺ κ°μ§ ν΄κ²° λ°©λ²μ΄ μμ΅λλ€.
νμ΄ν λ²μ μ 2.5.45λ‘ μμ
μ΄κ²μ λ¨μν μ΅μ μμ λ²μ μ μ¬μ©ν©λλ€.
νμ΄ν λ²μ μ μμ νλ κ²μ SemVerλ₯Ό λ°λ₯Ό μ μκ³ λ§μ΄λ λ²μ μ λ³κ²½νλ©΄ λΉλκ° μ½κ² μμλ μ μκΈ° λλ¬Έμ μ΄μ¨λ λͺ¨λ² μ¬λ‘ κ° λλ κ² κ°μ΅λλ€.
λ€μ λ¬Έμ λ₯Ό μ°Έμ‘°νμμμ€.
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14579
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14569
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14338
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/13994#issuecomment -275949045
expect
λν μΌλ° 맀κ°λ³μλ‘any
expect
μλ‘μ΄ νμ΄νμ ν΅ν΄ μ΄μ λμμ μ μ§ν μ μμ΅λλ€.
any
κ³Ό κ°μ μ νμΌλ‘ μ¬μ©νλλ‘ λͺ μμ μΌλ‘ μ§μ νκΈ°expect
ν¨μμ λν μ λ ₯μ μμ±νκ³ νλ‘μ νΈμ μΆκ°ν©λλ€.μ΄κ²μ μ΅μμ μ루μ μ΄μ§λ§ κ°λκΈ°κ° μνν΄μΌ ν©λλ€.
μλ§λ λ€μκ³Ό κ°μ΄ λ³΄μΌ κ²μ λλ€.
Aμμ΄ μ½λλ₯Ό μΆκ°
protractor.d.ts
λ₯Ό λ³Ό μ μμ΅λλ€ νλ‘μ νΈμ μ΄λκ°μ νμ΄ν μ€ν¬λ¦½νΈ μ»΄νμΌλ¬μ κ·Έκ²μ μ½μμ μ£Όμ΄ λΉμ μ λ¬Έμ λ₯Ό ν΄κ²°ν΄μΌexpect
μμ μ 곡νλ νμμΌλ‘ μ€μ λ‘ κ²°μtoEqual