在条件中使用场景大纲变量时语法突出显示关闭(1.4.1RC3)

问题描述 投票:0回答:1

这是一个示例场景,显示语法突出显示无法正常工作,但是代码不受此影响,仅受视觉方面影响。 (测试只是为了突出显示,不是实际使用中的测试)

Feature:

  Scenario Outline:
    * def x = 1

    * def output = x != null ? (100 + <add>) : null
            * print 'output for add is ', output
    * def output = x != null ? (100 - <subtract>) : null
            * print 'output for subtract is ', output
    * def output = x != null ? (100 * <times>) : null
            * print 'output for times is ', output
    * def output = x != null ? (100 / <divide>) : null
            * print 'output for divide is ', output
    
    * def output = <add> != null ? (100 + <add>) : null
            * print 'output for add is ', output
    * def output = <subtract> != null ? (100 - <subtract>) : null
            * print 'output for subtract is ', output
    * def output = <times> != null ? (100 * <times>) : null
            * print 'output for times is ', output
    * def output = <divide> != null ? (100 / <divide>) : null
            * print 'output for divide is ', output

    Examples:
            | add | subtract | times | divide |
            | 1   | 2        | 3     | null   |
            | 2   | 3        | null  | 4      |

这是 vsCode 中语法高亮显示的样子。
在第一个屏幕截图中,您可以看到在第一次*之后,所有以下行在语法上都是关闭的。

在第二张截图中,将上面的行注释掉,您可以看到首字母后面的语法已关闭

在最后一个示例中,我还尝试在条件中使用大纲变量,并在第一次使用后遇到相同的语法问题

karate
1个回答
0
投票

空手道中不再推荐使用

< >
占位符表示法,并且
Examples
列可直接用作适当的 JS 变量。如果您有非字符串类型,则可以通过附加
!
来标记列标题。

这里是修改后的代码,工作正常,另请参阅文档:https://github.com/karatelabs/karate#scenario-outline-enhancements

Feature:

Scenario Outline:
* def x = 1

* def output = x != null ? (100 + add) : null
      * print 'output for add is ', output
* def output = x != null ? (100 - subtract) : null
      * print 'output for subtract is ', output
* def output = x != null ? (100 * times) : null
      * print 'output for times is ', output
* def output = x != null ? (100 / divide) : null
      * print 'output for divide is ', output

* def output = add != null ? (100 + add) : null
      * print 'output for add is ', output
* def output = subtract != null ? (100 - subtract) : null
      * print 'output for subtract is ', output
* def output = times != null ? (100 * times) : null
      * print 'output for times is ', output
* def output = divide != null ? (100 / divide) : null
      * print 'output for divide is ', output

Examples:
      | add! | subtract! | times! | divide! |
      | 1    | 2         | 3      | null    |
      | 2    | 3         | null   | 4       |
© www.soinside.com 2019 - 2024. All rights reserved.