如何构建客户端单元测试文件

How to structure client side unit test files

目前,我正在为我一直从事的一个大项目使用 karma jasmine 实施客户端单元测试。

我正在寻找在 Visual Studio 解决方案中构建测试代码的最佳实践。该项目有超过 50 个不同的 js 文件,它们都应该有自己的单元测试脚本。此外,代码的目录结构最多可达 8 个目录。我考虑过几种不同的方法来构建单元测试文件。

  1. 与应测试的代码文件位于同一目录的单元测试文件
  2. 每个目录的子目录"tests"中的单元测试文件,代码
  3. 项目根目录中名为"tests"的目录,目录结构与实际代码相同
  4. 新建项目,目录结构与实际代码相同

在大型项目中构建我的客户端单元测试文件并仍然保持其可维护性和 "clean" 的好方法是什么?

一定要让测试靠近代码文件。在进行重构时很容易忘记同时更改并行目录结构,即使您记得,必须对相同的更改进行两次也是乏味且容易出错的。不要重复自己。

我会将每个测试放在每个代码文件下面的子目录 tests/ 中,就像您在较小的项目中那样。这样对于新接手项目的人来说很容易找到测试,因为它是一个通用的布局。大多数测试 运行 人员应该能够 运行 目录结构中的所有测试,因此它们分散并不重要。