运行 Botium 绑定完成后的附加断言代码

Run additional asertion code after Botium Bindings completes

Botium绑定完成后如何运行附加断言?

const bb = new BotiumBindings({ convodirs: ['/spec'] })
BotiumBindings.helper.mocha().setupMochaTestSuite({ bb })

// TODO: GET request to an external API.

将自定义断言器逻辑添加到 Botium 的推荐方法是将您自己的断言器模块添加到 Botium。您可以找到详细信息here,但简而言之:

  1. 创建文件MyCustomAsserter.js:
module.exports = class CustomAsserter {
  constructor (context, caps, globalArgs) {
    this.context = context
    this.caps = caps
    this.globalArgs = globalArgs
  }
  assertConvoStep ({convo, convoStep, args, isGlobal, botMsg}) {
    if (botMsg.message !== 'hugo') throw new Error('expected hugo')
    return Promise.resolve()
  }
}
  1. botium.json
  2. 中注册
{
  "botium": {
    "Capabilities": {
      ...
      "ASSERTERS": [
        {
          "ref": "MY-ASSERTER-NAME",
          "src": "./MyCustomAsserter.js",
          "global": false,
          "args": {
            "my-arg-1": "something"
          }
        }
      ]
    }
  }
}

  1. 在你的 convo 文件中使用这个断言器:
my-test-case

#me
hi

#bot
hi
MY-ASSERTER-NAME some-arg1|some-arg2