zoukankan      html  css  js  c++  java
  • [Jest] Automate your migration to Jest using codemods

    Jest is a fantastic testing library, but maybe you've been putting off the switch because migrating all of your existing tests from another library seems like a daunting task. With jest-codemods, you can automate most, if not all, of that migration! The jest-codemods CLI is a wrapper around jscodeshift that is specifically focused on helping you migrate from several popular test runner and assertion library combinations to Jest. In this lesson, we'll walk through converting a small sampling of tests created with Mocha, Sinon and Chai over to Jest. We'll even take a look at a couple edge cases where the conversion requires some manual intervention so you can be prepared for those in your own project.

    Source code

    Install:

    npm i -D jest
    
    npm i -g jest-codemons

    Run:

    jest-codemods  # default path is under src

    There is a waring:

    "

    jest-codemods warning: (src/index.spec.js) Usage of package "sinon" might be incompatible with Jest

    "

      describe('once', () => {
        test('Only invokes the function once', () => {
          const fn = sinon.stub()
          const onceFn = once(fn)
          onceFn()
          onceFn()
          onceFn()
          onceFn()
          sinon.assert.calledOnce(fn)
        })
      })

    Change to:

      describe('once', () => {
        test('Only invokes the function once', () => {
          const fn = jest.fn();
          const onceFn = once(fn)
          onceFn()
          onceFn()
          onceFn()
          onceFn()
          expect(fn).toHaveBeenCalledTimes(1);
        })
      })

    One failed test:

    expect(result).to.eq(3)

    Change to:

    expect(result).toBe(3)
  • 相关阅读:
    多线程之volatile关键字
    多线程具体实现
    多线程的概述
    Linux基本目录机构
    Java13新特性
    CF1316D【Nash Matrix】(dfs+构造+思维)
    ego商城项目学习总结+出现问题及解决
    java.lang.OutOfMemoryError: GC overhead limit exceeded之tomcat7优化
    jsp在tomcat中更新不起作用
    js取值及赋值
  • 原文地址:https://www.cnblogs.com/Answer1215/p/9515376.html
Copyright © 2011-2022 走看看