CodeSOD:模块测试 笔记

CodeSOD:模块测试

TJ 继承了一个 NestJS 项目,其代码由早已离职的开发者编写。NestJS 是一个使用依赖注入的 TypeScript 框架,它将代码组织为控制器(controllers)、提供者(providers)和模块(modules)。模块可以嵌套,从而形成灵活的依赖结构。代码库中的 ProjectsModule 是一个基本且空的模块示例。开发者通常会为代码编写测试,并且存在一个针对 ProjectsModule 的测试文件。该测试文件尝试实例化 ProjectsModule,但仅仅创建了一个模块实例,这并非一个有意义的测试。NestJS 模块本质上是容器,动态模块在运行时执行代码,而非在构造期间。因此,该特定测试将始终通过,而不会验证任何实际功能。它被视为一种无效测试,无法贡献代码覆盖率或验证模块的组件。尽管其效果不佳,TJ 仍注意到测试的存在。