4

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

目前我尝试过:

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

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

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

我正在使用 Mocha 来运行两种类型的测试。

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

4

1 回答 1

1

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

于 2013-01-22T21:23:30.253 回答