我想确保我的单元测试是可读和可维护的,而不是将我的组件(或类)的所有测试转储到一个文件中,因为它现在似乎是“最佳实践”。我认为这种做法对于除了琐碎的代码或组件之外的任何东西都是有害的,它可以成为我见过的所有JS / TS代码库中的负面力量。
我自己并不是一个前端开发人员,我很难找到或看到更好的替代方案,但到目前为止修复“胖测试文件”问题的唯一选择是为每个组件/服务创建一个specs
文件夹,并且:
要么
当需要通用状态或设置时,我可以创建一个“帮助”服务或一些其他常用功能,可以从需要它的测试中调用。
这是否被认为是一种可接受的方法,或者这个问题在最佳实践方面是否仍未真正建立?
以另一种方式解决问题:为什么你的测试如此沉重?
根据the style guide,您应该考虑将文件限制为400行代码。
删除样板,导入和空格,相当于大约300行代码。您的ng功能是否仅限于此?
如链接中所述,您应该依赖于规则1,这基本上表明您的功能应该只有一个责任。您的功能是否遵循该规则?
除此之外,假设您遵循这些规则并且仍然有大量测试文件,有几种解决方案可以减少测试所需的代码量:
***.ui.spec.ts
,***.http.spec.ts
......)最后,
但到目前为止,修复“胖测试文件”问题的唯一选择是为每个组件/服务创建一个specs文件夹
是错的。根据style guide,
为了高效工作,您必须能够快速查找文件,尤其是当您不知道(或不记得)文件名时。将相关文件保持在一个直观的位置,可以节省时间。一个描述性的文件夹结构为您和追随您的人们带来了不同的世界
您应该将测试文件保留在其功能旁边。