期望失败/通过

时间:2018-12-04 18:03:09

标签: node.js chai hubot

最近,我想到了为Hubot脚本创建一个更易于理解的测试套件的想法。 我创建了hubot-chat-testing模块,用户可以在其中使用特殊的API,在后台生成expect断言。

也就是说,我真的不知道如何进行全面测试。

我写了technical tests来检查该机制是否起作用(添加新消息,自动回复等)。

作为最终用户测试,我已经在hubot-hello(机器人响应)和hubot-sayings(机器人大脑)的API中实现了测试。如您所见,我编写了类型为“当用户编写正确的聊天记录时,模块应该不返回任何错误”的测试,但是我该如何编写类似“当用户出错或聊天记录中的消息完成时”的测试不匹配,模块应该失败”?

我已经找到了Chai库的fail方法,但是它实际上并不适合我的需要,因为我必须做这样的事情:

function someFailingFunction(){
   chat.when('user says hi')
      .user('username').messagesBot('hi')
      .bot.repliesWith('false message, i will not greet you')
      .expect('the bot should say hi to the user')
}
expect(someFailingFunction).to.fail('The message in the chat history does not match')

是否有可能还是我必须使用其他测试库?


更新

我添加了the tests,其中涵盖了我要测试的功能。现在,我手动取消注释它们,只是为了检查它们是否都无法正确响应,这就是我要自动执行的操作。

0 个答案:

没有答案