介绍
jest-context
是一个可以帮助我们更好的组织测试用例的 Jest 扩展包。它可以让我们更加方便的对测试用例进行分组、嵌套、以及在测试用例之间共享数据。
安装
可以通过 npm
进行安装:
npm install --save-dev jest-context
使用
分组
我们可以使用 describe
方法来对测试用例进行分组:
describe('math', () => { test('1 + 1 = 2', () => { expect(1 + 1).toBe(2); }); });
嵌套
我们可以使用 describe
方法进行嵌套:
describe('math', () => { describe('addition', () => { test('1 + 1 = 2', () => { expect(1 + 1).toBe(2); }); }); });
共享数据
我们可以使用 beforeAll
、beforeEach
、afterAll
、afterEach
方法来共享数据:
-- -------------------- ---- ------- ---------------- -- -- - --- ----- ----- ------------- -- - ---- - -- ---- - -- --- -------------------- -- -- - ------- - - - --- -- -- - ----------- - -------------- --- --- ---
触发器
我们可以使用 trigger
方法来对测试用例进行分组,并且可以在测试用例之间共享数据:
-- -------------------- ---- ------- ----- ------- - ------------------------ --------------- -- -- - --- ----- ----- ------------- -- - ---- - -- ---- - -- --- ------------------- -- -- - ------- - - - --- -- -- - ----------- - -------------- --- --- ---------------------- -- -- - ------- - - - --- -- -- - ----------- - -------------- --- --- ---
示例代码
-- -------------------- ---- ------- ----- ------- - ------------------------ ---------------- -- -- - -------------------- -- -- - ------- - - - --- -- -- - -------- - ----------- --- --- ----------------------- -- -- - ------- - - - --- -- -- - -------- - ----------- --- --- --- ------------------ -- -- - ----------------------- -- -- - -------------- - ------ -- ----------- -- -- - -------------------------------------------- --- --- ----------------------- -- -- - -------------- - ------ -- ----------- -- -- - -------------------------------------------- --- --- --- --------------- -- -- - --- ----- ----- ------------- -- - ---- - -- ---- - -- --- ------------------- -- -- - ------- - - - --- -- -- - ----------- - -------------- --- --- ---------------------- -- -- - ------- - - - --- -- -- - ----------- - -------------- --- --- ---
结论
jest-context
是一个非常好用的 Jest 扩展包,它可以让我们更加方便的对测试用例进行分组、嵌套、以及在测试用例之间共享数据。希望本文可以对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055feb81e8991b448dd9f0