在此版本中,我们专注于简化单元测试过程,并通过单元测试助手提高代码覆盖率。

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-49363SECURITY.ESD.RA 太过严格/误报多
JT-70326关联项目存在编译问题(使用 Oracle Java 8 正确编译)
JT-70237使用 Gradle 4.9 执行分析时,关联的 Android Studio 项目无法构建
JT-70361Checkstyle 集成说明可能已过时
JT-70300OWASP Top 10 2017 规则配置不包含 SECURITY.WSC.DSER 规则
JT-70188GLOBAL.DPPC 规则潜在漏报
JT-70255XMLParse 异常导致编译错误
JT-69944OPT-CEIL 误报
JT-69822FORMAT.CBRACE 误报
JT-70113自定义规则性能下降
JT-699779.6 中创建的自定义规则在 10.3.x 中不生效

FA-6749

BD.PB.VREADOBJ 要么无法正常生效,要么描述不正确
FA-6649BD-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:参数类型不匹配异常


  • No labels