javascript - Typescript-feil: Argument av typen 'number' kan ikke tildeles parameter av typen 'Expected>'
Jeg har følgende funksjon som feiler ved kjøring:
it('should show three items', () => {
const EXPECTED_NUMBER_OF_ITEMS: number = 3;
const countOfTabElements: Promise<number> = page.listOfTabs.count();
expect(countOfTabElements).toBe(EXPECTED_NUMBER_OF_ITEMS);
});
Det gir følgende feil når jeg kjører det:
Argument av typen 'number' kan ikke tildeles parameter av typen 'Expected>'. (2345)
Noen ideer hvorfor?
Svar #1
Alternativt til @Nitzan Tomers svar bør du kunne bruke async/await (TS >= 2.1 for å målrette ES5)
it('should show three items', async () => {
const EXPECTED_NUMBER_OF_ITEMS: number = 3;
const value = await page.listOfTabs.count();
expect(value).toBe(EXPECTED_NUMBER_OF_ITEMS);
});
(som en sidenotat tror jeg at du trenger en ganske nyere versjon av Mocha for å håndtere avvisning av løfter korrekt)
Svar #2
Prøv :
it('should show three items', () => {
const EXPECTED_NUMBER_OF_ITEMS: number = 3;
page.listOfTabs.count().then(value => {
expect(value).toBe(EXPECTED_NUMBER_OF_ITEMS);
});
});
