如何为黄瓜的参数类型设置布尔值?

时间:2019-04-16 15:45:26

标签: cucumber cucumberjs

Cucumber允许您将int,string,floats作为参数类型传递,有没有办法使用布尔值呢?

Given('the property {string} is set to {string}', function (path, value) {
    this.requestBody = this.requestBody || {};
    _.set(this.requestBody, path, value);
});

2 个答案:

答案 0 :(得分:1)

简短的回答,不,但是我相信您会找到所需的here

有多种方法可以实现此目的,大多数方法都需要您在“给定”步骤中解析一个布尔值。我相信您的情况是Project

祝你好运!

答案 1 :(得分:0)

您可以通过为布尔值定义一个 custom parameter type 来巧妙地做到这一点,这将允许您以与 {string}、{float} 等相同的方式在步骤表达式中使用 {boolean}。

步骤定义文件

const { defineParameterType, Given } = require("@cucumber/cucumber");

defineParameterType({
  name: "boolean",
  regexp: /true|false/,
  transformer: (s) => s === "true" ? true : false
});

Given("the property {string} is set to {boolean}", function (path, value) {
  console.log(typeof value); // "boolean"
});

特征文件

Given the property "theProp" is set to true