web-dev-qa-db-ja.com

ジャスミンのxdescribeとfdescribe

  • fdescribe-spec.tsファイルがfdescribedで定義されている場合に実行します
  • xdescribe-spec.tsファイルがxdescribedで定義されている場合は、実行しないでください

私の理解は正しいですか?そして、2つの別々のspec.tsファイルでxdescribefdescribeの両方が定義されている場合はどうでしょうか?

4
  • xdescribe will eXclude実行からのそれらの仕様。

  • fdescribe will 最初の実行これらの仕様。両方のfdescribe仕様がある場合は実行され、リセットは無視されます

13
Aravind
  • fdescribe-focuseddescribe。存在する場合、ジャスミンfdescribe仕様のみを実行し、他のタイプの記述(describeおよびxdescribe)を無視します。
  • xdescribe-disableddescribe。それは決して実行されません。

理解を深めるためのいくつかのシナリオ:

シナリオ1 -describeのみ

describe('test1', ..)

describe('test2', ..)

describe('test3', ..)

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

シナリオ2-単一のfdescribe

fdescribe('test1', ..)

describe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1

シナリオ3-複数のfdescribe

fdescribe('test1', ..)

fdescribe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1
// test2

シナリオ4-単一のxdescribe

xdescribe('test1', ..)

describe('test2', ..)

describe('test3', ..)

// Specs executed:
// test2
// test3

シナリオ4-複数のxdescribe

xdescribe('test1', ..)

xdescribe('test2', ..)

describe('test3', ..)

// Specs executed:
// test3

シナリオ5 -fdescribeおよびxdescribeが存在する

fdescribe('test1', ..)

xdescribe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1

これら2つに加えて、ジャスミンには同じルールのfitxitもあります。

興味深いことに、ユーザーが誤って他の仕様を無効にするのを防ぐために、fdescribe仕様が存在する場合、Jasmine3はテストの実行時にエラーを表示します。

エラーメッセージ:

Incomplete: fit() or fdescribe() was found

参照:

6
deerawan