angular - xdescribe vs fdescribe i jasmine


  • fdescribe - Kör om spec.ts-filen är definierad med fdescribe
  • xdescribe - Kör aldrig om spec.ts-filen är definierad med xdescribed

Är min förståelse korrekt? Och vad händer om jag definierar både xdescribe och fdescribe i två separata spec.ts-filer?

Svar #1

  • fdescribe - fokuserad describe. Om den existerar, kommer jasmine endast köra fdescribe spec och ignorera andra typer av describe (describe och xdescribe).
  • xdescribe - avaktiverad describe. Det kommer aldrig att köras.

Några scenarier för att få mer förståelse:

Scenario 1 - describe endast

describe('test1', ..)

describe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1
// test2
// test3

Scenario 2 - enskild fdescribe

fdescribe('test1', ..)

describe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1

Scenario 3 - flera fdescribe

fdescribe('test1', ..)

fdescribe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1
// test2

Scenario 4 - enskild xdescribe

xdescribe('test1', ..)

describe('test2', ..)

describe('test3', ..)

// Specs executed:
// test2
// test3

Scenario 4 - flera xdescribe

xdescribe('test1', ..)

xdescribe('test2', ..)

describe('test3', ..)

// Specs executed:
// test3

Scenario 5 - fdescribe och xdescribe finns

fdescribe('test1', ..)

xdescribe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1

Förutom de två har Jasmine också fit och xit med samma regler.

Intressant nog kommer Jasmine 3 att visa ett fel när testet körs om fdescribe-specen finns för att förhindra att användare oavsiktligt inaktiverar andra specar.

Felmeddelandet:

Incomplete: fit() or fdescribe() was found

Referens:

  • https://jasmine.github.io/api/3.5/global.html#fdescribe
  • https://jasmine.github.io/api/3.5/global.html#xdescribe

Svar #2

  • xdescribe kommer att utelämna de testerna från körning.

  • fdescribe kommer först att köra dessa specar. Om du har båda kommer fdescribe-specarna att köras, medan 'describe' och 'xdescribe' ignoreras.

Relaterade artiklar