gpt4 book ai didi

java - 三叶草:它是如何工作的?

转载 作者:搜寻专家 更新时间:2023-10-31 19:40:24 24 4
gpt4 key购买 nike

我目前正在评估三叶草,想知道如何最好地使用它。首先,我想了解它在概念上是如何工作的。

1) 仪器是什么意思?测试调用是否附加到实现语句中?

2) 这是怎么做到的?为此,测试实际上是在一些奇特的执行上下文(类似于 JRebel 等)下执行的吗?或者它更像是静态分析?

3) 在“clover-run”之后,一些 DB 被保存到磁盘,并基于此生成报告,对吗? DB 格式是否可访问?我的意思是我可以对其进行自己的分析吗?使用我自己的报告工具?数据库究竟包含哪些信息?我可以在那里看到测试和实现之间的映射吗?

4) 是否有其他工具可以找到测试和实现之间的映射?不只是数字,而是哪个测试,实际上涵盖了一行代码......

谢谢,BaSTL。

最佳答案

How is this done? Are the tests actually executed with some fancy execution context (similar to JRebel e.g.) for this? Or is it more like static analysis?

在 Clover 的代码检测期间,它会检测哪些方法是测试方法(默认情况下它会识别 JUnit3/4 和 TestNG)。此类方法获得额外的仪器指令。简而言之,输入一个测试方法通常会实例化一个专用的覆盖率记录器,专门为该测试测量覆盖率。有关 Clover 中可用的每个测试记录策略的更多信息:

After a "clover-run", some DB is saved to disk, and based on this, reports are generated right?

Clover 数据库(clover.db)包含有关代码结构(包、文件、类、方法、语句、分支)的信息,它还包含有关测试方法的信息。还有单独的覆盖率记录文件(在运行时生成),其中包含有关给定代码元素的“命中”次数的信息。 Clover 支持全局覆盖(即整个运行)和每次测试覆盖(即单个测试的覆盖)。

更多信息在这里:

Is the DB-Format accessible?

API 仍在开发中 ( https://jira.atlassian.com/browse/CLOV-1375 ),但有可能获得基本信息。见:

有关数据库模型和代码示例的更多详细信息。

但问题是:你真的需要手动读取这个DB吗?你写道:

Can I see the mapping between test and implementation there ?

这样的映射已经由 Clover 提供了——例如,在 HTML 报告中,如果您单击源代码行,它将弹出一个测试方法列表,其中包含点击该行的测试方法。

PS:我是 Atlassian 的 Clover 开发人员,如果您有任何问题,请随时与我联系。

关于java - 三叶草:它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12723451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com