我在 Eclipse 中接到了“在执行 junit/测试用例时自动生成序列图”的任务。我正在学习UML。我找到了可以生成序列的工具,并且我知道 junit,但是我如何将这两者结合在一起。
我发现不错的工具有 UMLet、ModelGoon UML、Object Aid。但我把注意力集中在 ModelGoon 上。我发现这简单易用。我如何自动执行此任务,如果是的话请指导我。
如果有任何其他可用的工具,请指导我。
第一:这是一个非常好的主意,有多种方法可以实现。我将假设您正在使用 jvm 语言(例如 Kotlin 或 Java)工作,因此我提出的建议会因此而产生偏差。
将日志记录设置为使用 json 进行日志记录,这使其余部分变得更简单: https: //www.baeldung.com/java-log-json-output
创建一个库,在其中记录您所在的组件/方法的名称以及您正在处理的会话。有很多方法可以做到这一点,但一个简单的方法是线程局部变量:设置变量以包含您正在跟踪的事物的名称(“usecase foobar”)和一些唯一的 ID(UUID 是一个不错的选择) 。另一种方法是生成一些跟踪 ID(或从外部交互中获取一个),并将其作为参数发送给所有涉及的方法。这两种方法都可以工作,而哪一种在实践中最简单取决于您的应用程序的体系结构。
在您想要跟踪的方法中,写入一个日志条目,其中包含跟踪信息(用例名称、跟踪 ID 或其任意组合)、写入日志条目的位置以及您想要添加到您的日志中的任何其他信息。顺序图。
正常运行测试。将生成一个日志。您需要能够检索该日志。有很多方法可以做到这一点,使用其中一种:-)
过滤日志条目,以便您只获得您感兴趣的日志条目。使用“jq”实用程序是一个不错的选择。
处理过滤后的输出以生成序列图的“plant uml”输入文件 ( http://plantuml.com/ )。
处理工厂 UML 文件以获得序列图。
完毕。
使用一些标准工具进行跟踪,例如“ https://opentracing.io/ ”,使用此工具检测您的应用程序,并使用该标准工具提取图表。
这也适用于生产,并且可能比直接方法更好地扩展,但如果扩展不是您的事,那么直接方法可能就是您想要做的。
| 归档时间: |
|
| 查看次数: |
2590 次 |
| 最近记录: |