【问题标题】:Chai POST request test does not send emailChai POST 请求测试不发送电子邮件
【发布时间】:2018-06-26 17:31:15
【问题描述】:

对 API 进行单元测试的新手。

使用 Chai,我正在尝试测试对 API 的 POST 请求。 基本上,POST 请求应该将详细信息添加到数据库中,并向输入的电子邮件地址发送确认电子邮件。

我的测试检查数据是否已添加到数据库中。但无论何时运行测试,它都不会从 POST 请求中发送确认电子邮件。

【问题讨论】:

    标签: node.js api unit-testing testing chai


    【解决方案1】:

    最好不要发送电子邮件或与数据库交谈以进行单元测试。一种简单的测试方法是使用 sinon 之类的东西创建一个间谍。在此处阅读有关 sinonjs 的信息 - http://sinonjs.org/。为数据库调用创建一个间谍并检查是否使用正确的数据调用了间谍。您还可以为电子邮件发送呼叫创建另一个间谍,并测试是否使用正确的电子邮件地址呼叫它。

    【讨论】:

    • 我同意。单元测试时不应访问其他服务或模块。模拟服务要好得多。 (不过,集成测试是另一回事)
    猜你喜欢
    • 2023-01-13
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多