项目中用了ES6的继承。随着开发人员多了之后发现,有些情况下改动了父类,忘记测试子类是否可以工作了。可能开发人员不知道这个类是不是被其他类继承了。
我想问的是,有没有一种工具可以清晰的看到项目中的类的继承关系?这样就比较方便的看到当前这个类是不是被子类继承了,改动的时候就会测试下子类。
谢谢。
项目中用了ES6的继承。随着开发人员多了之后发现,有些情况下改动了父类,忘记测试子类是否可以工作了。可能开发人员不知道这个类是不是被其他类继承了。
我想问的是,有没有一种工具可以清晰的看到项目中的类的继承关系?这样就比较方便的看到当前这个类是不是被子类继承了,改动的时候就会测试下子类。
谢谢。
由题主的描述, 恐怕题主的项目并没有形成系统设计文档(System Design Document, SSD)吧, 系统设计文档里面关于类之间的继承关系UML
图--类图是可以很清晰地看到系统类继承状况的工具图.
如果说要用于测试的框架的话, mocha
+chai
是一个不错的选择, 但是目前答主这块掌握不很深, 所以不清楚能否在父类改动的情况下自动进行子类的测试.
简单粗暴的方法:用正则全局搜索,例如extends Parent
,搜全部的class
和extends
,把结果整合起来,就能有个继承关系图了,不太准,但能用。
高级做法是做解析,略复杂,也许可以在babel的基础上做,或者直接用类型推导的工具(flow,ts)做。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
来自外国友人 bug-a-lot 的回复:
How to check the inheritance relationship of ES6 classes in my project? - stack overflow