这是一个示例场景,显示语法突出显示无法正常工作,但是代码不受此影响,仅受视觉方面影响。 (测试只是为了突出显示,不是实际使用中的测试)
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 中语法高亮显示的样子。
在第一个屏幕截图中,您可以看到在第一次*之后,所有以下行在语法上都是关闭的。
空手道中不再推荐使用
< >
占位符表示法,并且 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 |