3.3 mocha转jest

jest和mocha之间的机制有着显著的不同,jest具体使用可以看官方文档,这里只简单说明下

两种框架的不同点

1、jest没有this指向,在mocha中可以运行this,如this.skip()等,但是jest中的跳过只能是使用it.skip(),这种形式。

2、jest是多进程的,全局处理globalSetup和globalTeardown中赋值的变量,是不能传递出去的。

如果要传递出去,需要将并行改为串行,添加runInBand参数即可

    testEnvironment: "node",
    automock: false,
    runInBand: true,
    globalTeardown: "./src/config/global/teardown.js",
    globalSetup: "./src/config/global/setup.js",

3、mocha中可以使用this._runnable.title或者this.test.title获取名称,但是在jest中则需要

expect.getState().currentTestName;

上面的方法,并不是仅获取当前it测试用例的名称,而是同时获取了describe的名称

4、mocha可以通过gulp执行指定目录下的指定文件,jest也可以,但是需要传递参数,如下

gulp.task('list', function () {
    let config = publicConfig;
    config.testRegex = [
        "./src/api/login/dologin.js",
        "./src/api/list/homepage.js",
        "./src/api/list/keyword.js",
        "./src/api/list/regular.js",
        ".src/api/list/task_instance.js"
    ];
    return gulp.src('src/api').pipe(jest(config));
})


版权声明:本文为LetsStudy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。