【问题标题】:Unit testing vs Integration testing of an Express.js appExpress.js 应用程序的单元测试与集成测试
【发布时间】:2013-01-22 18:11:09
【问题描述】:

我正在为 Express.js 应用程序编写测试,但我不知道如何在单元测试和集成测试之间进行选择。

目前我尝试过:

单元测试 - 使用 Sinon 进行 stubs/mocks/spies 和 Injects 对模块的依赖注入。使用这种方法,我必须对 MongoDB 和其他外部方法进行存根。

我考虑过对各个路由进行单元测试,然后使用集成测试来验证是否实际调用了正确的路由。

集成测试 - 使用 Supertest 和 Superagent,编写的代码要少得多(无需模拟/存根),但应该存在测试环境(数据库等)

我正在使用 Mocha 来运行这两种风格的测试。

我应该如何在这两种不同的方法之间进行选择?

【问题讨论】:

    标签: node.js express mocha.js sinon supertest


    【解决方案1】:

    您可能应该两者都做。单元测试每个执行非平凡工作的非辅助方法。通过一些集成测试运行整个事情。如果您发现自己不得不做大量的模拟和存根,这可能是重构的迹象。

    【讨论】:

    • 您对执行标准数据库 CRUD 的路线有何建议?
    • 将 CRUD 分解为某个对象/类/函数,然后对其进行单元测试。然后集成测试您的路线。
    猜你喜欢
    • 1970-01-01
    • 2016-05-05
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 2019-05-09
    相关资源
    最近更新 更多