You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jest中xit()与describe()、it()的配合使用方法问询

Jest中xit()与describe()/it()的配合用法

xit()是Jest里用来临时跳过单个测试用例的工具,和describe()、it()的配合非常灵活,主要有这几种常见场景:

跳过单个测试用例

把原本的it()换成xit(),这个测试就会被标记为「跳过」(测试报告里会显示为skipped),同套件里的其他it()测试会正常执行。适合某个测试还没写完、或者暂时不需要跑的情况:

describe('用户登录模块', () => {
  it('正常账号密码能登录', () => {
    expect(login('validUser', 'validPass')).toBe(true);
  });

  xit('错误密码登录失败', () => {
    // 这个测试不会执行,保留代码结构方便后续恢复
    expect(login('validUser', 'wrongPass')).toBe(false);
  });
});

注:xit()和it.skip()是完全等价的,写法任选即可。

在测试套件中混合使用

一个describe块里可以同时放正常的it()和跳过的xit(),互不干扰——正常测试跑逻辑,跳过的测试仅保留结构:

describe('购物车功能', () => {
  it('添加商品到购物车', () => {
    expect(addToCart('apple')).toHaveLength(1);
  });

  xit('删除购物车商品', () => {
    // 比如删除功能还在开发,先跳过这个测试
    expect(removeFromCart('apple')).toHaveLength(0);
  });

  it('修改商品数量', () => {
    expect(updateCartQuantity('apple', 2)).toHaveProperty('quantity', 2);
  });
});

配合xdescribe()跳过整个套件

如果要跳过一整个describe下的所有测试,可以用xdescribe()(等同于describe.skip()),不管里面是it()还是xit(),全都会被跳过:

xdescribe('支付模块(暂不测试)', () => {
  it('支付宝支付成功', () => {
    expect(alipayPay(100)).toBe(true);
  });

  it('微信支付成功', () => {
    expect(wechatPay(100)).toBe(true);
  });
});

内容的提问来源于stack exchange,提问作者Sharath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:50:28