xdescribe vs fdescribe茉莉花

Ram*_*ran 2 unit-testing jasmine typescript karma-runner angular

  • fdescribe -如果spec.ts文件定义为 fdescribed
  • xdescribe -如果spec.ts文件定义为,则从不执行 xdescribed

我的理解是正确的吗?大约上午是否定义都什么xdescribefdescribe在两个单独的spec.ts文件?

dee*_*wan 26

  • fdescribe-重点描述。如果存在,jasmine将只运行 fdescribespec 并忽略其他类型的 describe (describexdescribe)。
  • xdescribe-禁用描述。它永远不会被执行。

一些场景以获得更多理解:

场景 1 -describe

describe('test1', ..)

describe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1
// test2
// test3
Run Code Online (Sandbox Code Playgroud)

场景 2 - 单人 fdescribe

fdescribe('test1', ..)

describe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1
Run Code Online (Sandbox Code Playgroud)

场景 3 - 多个 fdescribe

fdescribe('test1', ..)

fdescribe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1
// test2
Run Code Online (Sandbox Code Playgroud)

场景 4 - 单人 xdescribe

xdescribe('test1', ..)

describe('test2', ..)

describe('test3', ..)

// Specs executed:
// test2
// test3
Run Code Online (Sandbox Code Playgroud)

场景 4 - 多个 xdescribe

xdescribe('test1', ..)

xdescribe('test2', ..)

describe('test3', ..)

// Specs executed:
// test3
Run Code Online (Sandbox Code Playgroud)

场景 5 -fdescribe并且xdescribe存在

fdescribe('test1', ..)

xdescribe('test2', ..)

describe('test3', ..)

// Specs executed:
// test1
Run Code Online (Sandbox Code Playgroud)

除了这两个,茉莉花也有fitxit一样的规则。

有趣的是,如果fdescribe规范存在,Jasmine 3 在运行测试时会显示错误,以防止用户无意中禁用其他规范。

错误信息:

Incomplete: fit() or fdescribe() was found
Run Code Online (Sandbox Code Playgroud)

参考:


Ara*_*ind 9

  • xdescribe会将这些规范排除在执行范围之外。

  • fdescribe首先执行这些规范。如果您同时拥有fdescribe规范,则会忽略重置