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