Depuis la sortie de @types/[email protected]
, j'ai ce problème lors de l'exécution de mes tests de rapporteur avec du texte écrit :
[18:37:17] E/launcher - Error: TSError: ⨯ Unable to compile TypeScript
e2e/app.e2e-spec.ts (19,45): Argument of type '"Hello world !"' is not assignable to parameter of type 'Expected<Promise<string>>'. (2345)
Cette trace revient à ce code :
expect(page.getParagraphText()).toEqual('Hello world !');
Dans les nouveaux types de jasmin, les typages expect
sont désormais appliqués (ce n'était pas le cas auparavant).
Il semble que les remplacements de jasmin du rapporteur qui attendent que les promesses se résolvent avant d'effectuer le match doivent étendre les frappes pour que cela fonctionne correctement.
6.x
5.x
2.x
PhantomJS
osx 10.12.11
Merci de l'avoir noté.
Pouvez-vous épingler vos types en attendant pour résoudre ce problème ?
Bien sûr, c'est déjà fait 😉
Merci pour ce super outil en tout cas !
Ouais :-(
J'ai aussi observé ceci
e2e/app.e2e-spec.ts(23,54): error TS2345: Argument of type 'false' is not assignable to parameter of type 'Expected<Promise<boolean>>'.
pour la ligne
expect(element(by.css('h1')).isPresent()).toBe(false);
Typographies de jasmin déclassées en
"@types/jasmine": "2.5.45"
Pour les tests Jasmine, vous pouvez utiliser @types/jasminewd2
en plus de @types/jasmine
.
attendre(
à
attendre
ça a marché pour moi
@ChristianStornowski ne fonctionne toujours pas même avec @types/jasminewd2
Voici mes paramètres pour package.json
...
"devDependencies": {
...
"@types/jasmine": "^2.5.52",
"@types/jasminewd2": "^2.0.2",
"jasmine-core": "^2.6.4",
"typescript": "^2.3.4",
...
}
...
pour tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "CommonJS",
"moduleResolution": "Node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true,
"outDir": "build",
"strictNullChecks": true,
"lib": [
"DOM",
"ES5",
"ES6",
"ES7",
"DOM.Iterable",
"ScriptHost"
]
}
}
Cela fonctionne avec IntellIJ actuel pour moi.
@ChristianStornowski Merci, j'ai trouvé pourquoi ça ne fonctionnait pas !
J'utilise angular-cli
et la configuration par défaut e2e package.json
a :
"types": [
"jasmine",
"node"
]
le changer en :
"types": [
"jasmine",
"jasminewd2",
"node"
]
fais-le fonctionner!
Des mises à jour après 13 mois les gars ?
@mruzek Quel genre de mise à jour attendez-vous ? Il n'y a rien de cassé ici.
Vous avez deux options :
@types/jasminewd2
comme indiqué ci-dessus et continuez à utiliser Protractor avec SELENIUM_PROMISE_MANAGER: true
(solution non recommandée, car elle est obsolète, présente de nombreux inconvénients et sera éventuellement supprimée).SELENIUM_PROMISE_MANAGER: false
et utilisez la syntaxe async/await
la place (solution recommandée, voir la documentation ici ).
Commentaire le plus utile
@ChristianStornowski Merci, j'ai trouvé pourquoi ça ne fonctionnait pas !
J'utilise
angular-cli
et la configuration par défaut e2epackage.json
a :le changer en :
fais-le fonctionner!