【问题标题】:Run a test in Jest only if certain condition are met仅当满足特定条件时才在 Jest 中运行测试
【发布时间】:2022-11-24 03:01:46
【问题描述】:

我想根据特定条件运行特定测试。如果条件满足则运行,否则跳过测试。我想在进行测试之前这样做(或者开玩笑地提供一个函数来取消其中的测试?这样它就不会抛出错误)

你可以在这里看到我有什么:

设置:我正在为 DEX 测试不同的加密钱包,所以我有一组针对所有这些钱包运行的测试。按照设计,一些功能在某些钱包上,而另一些则没有。在这里,我试图签署一个在不同于以太坊(这里是 AVAX)的 EVM 链上运行的交易。这不适用于像 ethwallet 这样的所有钱包(正常),但适用于其他钱包。我只想测试我知道支持此功能的那些。

我的问题:钱包是在 beforeAll 中初始化的,我无法在 test() 之外访问这个对象(预期的日志是 k2,k1 超出范围并返回乱码)。我怎样才能访问它并知道我是运行测试还是跳过它?你可以看到我试图实现 testif() 但不幸的是没有工作,因为我没有 test() 之外的好的价值。

【问题讨论】:

    标签: javascript jestjs


    【解决方案1】:

    根据 this Github issue 你可以这样做:

    const runTest = wallet ? it : it.skip
    
    runTest( "testName", async () => {
        // ...
    }
    

    代码将执行itit.skip

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-10
      • 2016-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-21
      • 1970-01-01
      相关资源
      最近更新 更多