在此版本中,我们专注于简化单元测试过程,并通过单元测试助手提高代码覆盖率。
Java 支持
新增对 Java 9 和 10 的支持。
IDE 支持
现已支持:
- Eclipse 4.8
- IntelliJ 2018.2
测试影响分析
测试影响分析可以识别和运行受生产代码变更影响的测试子集。这不仅加快了测试执行速度,而且有助于优化单元测试过程。为方便使用 Jtest 进行测试影响分析,我们在 IDE 中新增了“受影响的单元测试”视图,以及用于 Maven 和 Gradle 的“测试影响分析”插件。
受影响的单元测试视图
“受影响的单元测试”视图是 IDE 中的一个新面板,可以帮助您了解变更对测试的影响。现在,您可以实时监控哪些测试受到当前代码修改的影响,并选择要运行的测试子集。请参阅测试影响分析。
Maven 和 Gradle 的测试影响分析插件
新增的测试影响分析插件可以仅检测和重新运行受变更影响的测试。该插件与您的构建系统集成,使 Jtest 能够充分利用测试影响分析功能,加快测试执行过程。详细信息,请参阅使用 Maven 进行测试影响分析以及使用 Gradle 进行测试影响分析。
增加代码覆盖率
增强 Jtest 的代码覆盖率功能。
改进“未覆盖的代码”建议
未覆盖的代码建议现在可以指导您完成增加代码覆盖率的步骤:
- 提示:UTA 现在可以为您提供如何修改测试以覆盖未覆盖代码的提示。
- 一键测试更新:现在只需点击克隆测试操作即可根据提示更新所选测试代码。
此外,我们还优化了对未覆盖代码的检测。 详细信息,请参阅增加代码覆盖率。
为私有方法创建测试
UTA 现在可以为私有方法创建常规、参数化和 Spring 单元测试,帮助您增加代码覆盖率。请参阅创建基本单元测试、创建参数化单元测试、创建 Spring 单元测试。
更多单元测试助手功能增强
在 IntelliJ IDEA 中支持 Spring
现在,您可以在 IntelliJ IDEA 中创建、监控和改进 Spring 单元测试。请参阅创建 Spring 单元测试。
自动创建断言
扩展 UTA 的跟踪功能,能够自动生成断言。跟踪和做出断言选项监控方法调用并自动应用建议的断言。请参阅跟踪对象变更和创建断言。
在快速修复菜单中执行 UTA 操作
UTA 操作现在可以在上下文辅助对话框中使用,该对话框通过键盘快捷键打开。请参阅关于 UTA 操作。
支持 Mockito 2
添加对 Mockito 2 的支持,使 UTA 能够自动检测正在使用的 Mockito 版本。
独立许可证服务器
现在您可以从 DTP 的其他实例或独立的许可证服务器获取 Parasoft 许可证。请参阅设置 Parasoft 许可证(桌面版)和设置许可证(自动化)。
其他变更
流分析现已支持 Java 中的 try-with-resource 语句。
- 改进 IDE 中流分析结果的呈现方式。
- 删除对 Microsoft Team Foundation Server 2008 的支持。
更新的测试配置
更新以下测试配置以优化分析结果:
- Critical Rules
- CWE-SANS Top 25 2011
- Find Unused Code
- Internationalize Code
- OWASP Top 10 2017
- PCI Data Security Standard 3.2
- Thread Safe Programming
更新代码分析规则
更新以下静态分析规则以优化分析结果:
- BD.RES.LEAKS
- BD.RES.FREE
- BD.PB.VREADOBJ
更新以下规则的输出消息,因此,与这些规则有关的 DTP 抑制可能不再可用:
- BD.PB.ARRAY
- BD.PB.ZERO
- EXCEPT.CLFIN
- SECURITY.WSC.AMA
- SECURITY.WSC.ARXML
- SECURITY.WSC.FIMU
您可以恢复先前的消息和对 BD 类别规则的抑制。请参阅为什么在 Jtest 升级到新版本后,某些规则的抑制在 DTP 上不可用?。
解决的 Bug 和 FR
Bug/FR ID | 说明 |
---|---|
JT-49363 | SECURITY.ESD.RA 太过严格/误报多 |
JT-70326 | 关联项目存在编译问题(使用 Oracle Java 8 正确编译) |
JT-70237 | 使用 Gradle 4.9 执行分析时,关联的 Android Studio 项目无法构建 |
JT-70361 | Checkstyle 集成说明可能已过时 |
JT-70300 | OWASP Top 10 2017 规则配置不包含 SECURITY.WSC.DSER 规则 |
JT-70188 | GLOBAL.DPPC 规则潜在漏报 |
JT-70255 | XMLParse 异常导致编译错误 |
JT-69944 | OPT-CEIL 误报 |
JT-69822 | FORMAT.CBRACE 误报 |
JT-70113 | 自定义规则性能下降 |
JT-69977 | 9.6 中创建的自定义规则在 10.3.x 中不生效 |
FA-6749 | BD.PB.VREADOBJ 要么无法正常生效,要么描述不正确 |
FA-6649 | BD-PB-CC 针对 bit-AND 误报 |
FA-6447 | BD.SECURITY.SENS - 文档说明和实际行为不一致 |
UTA-2838 | 没有报告 JUnit4 参数化测试的可模拟方法建议 |
UTA-3316 | 为控制器创建 Spring 测试时发生 StackOverflowError |
UTA-3130 | 在日文操作系统上,UTA 生成的测试中 Javadoc 包含乱码。 |
UTA-3036 | 运行使用 UTA 创建的 CSV 参数化测试时产生 java.lang.IllegalArgumentException:参数类型不匹配异常 |