github SonarSource/sonar-java 6.8.0.23379

Release Notes - SonarJava - Version 6.8

New Feature



  • [SONARJAVA-3372] - Rule S5803: Class members annotated with @VisibleForTesting should not be accessed from production code

  • [SONARJAVA-3509] - Rule S5958: AssertJ "assertThatThrownBy" should not be used alone

  • [SONARJAVA-3511] - Rule S5961: Test methods should not contain too many assertions

  • [SONARJAVA-3514] - Rule S5967: Tests method should not be annotated with competing annotations

  • [SONARJAVA-3515] - Rule S5960: Assertions should not be used in production code

  • [SONARJAVA-3516] - Rule S5969: Mocking all non-private methods of a class should be avoided

  • [SONARJAVA-3517] - Rule S5970: Spring's ModelAndViewAssert assertions should be used instead of other assertions

  • [SONARJAVA-3522] - Rule S3414: Tests should be kept in a dedicated source directory

  • [SONARJAVA-3524] - Rule S5973: Tests should be stable

  • [SONARJAVA-3526] - Rule S5976: Similar tests should be grouped in a single Parameterized test

  • [SONARJAVA-3527] - Rule S5977: Tests should use fixed data instead of randomized data

Task


Improvement



  • [SONARJAVA-3476] - Improve issue location for S5843

  • [SONARJAVA-3481] - Add missing escape sequences to regex parser

  • [SONARJAVA-3485] - Change issue type of S899 to Bug

  • [SONARJAVA-3492] - S1215 should detect "System.runFinalization()" the same way it detects System.gc()

  • [SONARJAVA-3500] - Support latest version of Play framework in S3330 and S2092

  • [SONARJAVA-3513] - Improve S5810 to support static and test methods with return values

  • [SONARJAVA-3518] - S125: reports issue on whole commented block

  • [SONARJAVA-3521] - SuppressWarnings Filter should remove issue of S3740 when "rawTypes" is used

  • [SONARJAVA-3523] - Extend S3415 (Arguments order) to support TestNG assertions

  • [SONARJAVA-3531] - S2187 should consider methods annotated with "@State" from Pact framework as test methods

False-Positive



  • [SONARJAVA-3477] - S1214 should report only when an interface contains only constants

  • [SONARJAVA-3498] - FP in S1193 for instance of non-throwable types

  • [SONARJAVA-3504] - FP on S1948 for fields having non-serializable interface as type but serializable type as initializer

  • [SONARJAVA-3506] - FP in S2275 when second argument of String.format is an array

  • [SONARJAVA-3507] - FP in S3012 when copying array of primitives types to a Collection

  • [SONARJAVA-3519] - FP on S3878 when the argument before the vararg is also an array

  • [SONARJAVA-3528] - FP on S5778 when calling mockito methods

  • [SONARJAVA-3530] - FP on S3577 when test class ends with "Tests" or is an abstract class

  • [SONARJAVA-3534] - FP S3077(VolatileNonPrimitiveFieldCheck) should consider enum as immutable

False Negative



  • [SONARJAVA-3491] - FN S2789 (NullShouldNotBeUsedWithOptionalCheck) on null assignment

  • [SONARJAVA-3501] - FN on Unused Imports when using Lombok

latest releases: test_rules_cov, 6.11.0.24617, 6.11.0.24599...
4 months ago