feat(core): 引入 JSpecify 空值注解支持 #320
GitHub Actions / Test Results
succeeded
Oct 16, 2025 in 0s
All 178 tests pass, 1 skipped in 23s
Annotations
Check notice on line 0 in .github
github-actions / Test Results
1 skipped test found
There is 1 skipped test, see "Raw output" for the name of the skipped test.
Raw output
com.jiangtj.micro.payment.DBGenerateTest ‑ generate
Check notice on line 0 in .github
github-actions / Test Results
179 tests found
There are 179 tests, see "Raw output" for the full list of tests.
Raw output
com.jiangtj.micro.auth.AntPathMatcherUtilsTest ‑ match
com.jiangtj.micro.auth.AuthServerApplicationTests ‑ contextLoads
com.jiangtj.micro.auth.context.AuthContextFactoryTest ‑ getAuthContext
com.jiangtj.micro.auth.context.AuthRequestTest ‑ testGetHeader
com.jiangtj.micro.auth.context.AuthRequestTest ‑ testGetHeaders
com.jiangtj.micro.auth.context.AuthRequestTest ‑ testGetMethod
com.jiangtj.micro.auth.context.AuthRequestTest ‑ testGetPath
com.jiangtj.micro.auth.context.AuthRequestTest ‑ testGetQueryParam
com.jiangtj.micro.auth.context.AuthRequestTest ‑ testGetQueryParams
com.jiangtj.micro.auth.context.AuthRequestTest ‑ testGetSessionAttribute
com.jiangtj.micro.auth.context.AuthRequestTest ‑ testGetURI
com.jiangtj.micro.auth.context.AuthRequestTest ‑ testMatch
com.jiangtj.micro.auth.core.AuthUtilsTest ‑ hasAntPermission
com.jiangtj.micro.auth.oidc.JwtAuthContextTest ‑ test JwtAuthContext claims property
com.jiangtj.micro.auth.oidc.JwtAuthContextTest ‑ test JwtAuthContext creation with all claims
com.jiangtj.micro.auth.oidc.JwtAuthContextTest ‑ test JwtAuthContext creation with minimal claims
com.jiangtj.micro.auth.oidc.JwtConverterTest ‑ test convert with JWT token but no matching key
com.jiangtj.micro.auth.oidc.JwtConverterTest ‑ test convert with expired JWT token
com.jiangtj.micro.auth.oidc.JwtConverterTest ‑ test convert with invalid JWT token
com.jiangtj.micro.auth.oidc.JwtConverterTest ‑ test convert with multiple Authorization headers
com.jiangtj.micro.auth.oidc.JwtConverterTest ‑ test convert with no Authorization header
com.jiangtj.micro.auth.oidc.JwtConverterTest ‑ test convert with valid JWT token
com.jiangtj.micro.auth.oidc.JwtPropertiesTest ‑ test JwtProperties with oidc configurations
com.jiangtj.micro.auth.oidc.JwtPropertiesTest ‑ test default JwtProperties
com.jiangtj.micro.auth.oidc.KeyUtilsTest ‑ test getKid with empty string kid
com.jiangtj.micro.auth.oidc.KeyUtilsTest ‑ test getKid with existing kid
com.jiangtj.micro.auth.oidc.KeyUtilsTest ‑ test getKid with non-string kid
com.jiangtj.micro.auth.oidc.KeyUtilsTest ‑ test getKid with null kid
com.jiangtj.micro.auth.oidc.KidLocatorTest ‑ test locate with matching kid
com.jiangtj.micro.auth.oidc.KidLocatorTest ‑ test locate with non-matching kid
com.jiangtj.micro.auth.oidc.KidLocatorTest ‑ test locate with null kid
com.jiangtj.micro.auth.oidc.KidLocatorTest ‑ test support method
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test handle with cached key
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test handle with null jwks response
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test handle with null oicf response
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test handle with successful key retrieval
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test locate with matching pattern but no openid configuration
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test match with ALWAYS style
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test match with ANT style pattern
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test match with PREFIX style pattern
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test match with REGEX style pattern
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test match with complex ANT pattern
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test match with default ANT pattern
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test match with invalid regex pattern
com.jiangtj.micro.auth.oidc.OidcLocatorTest ‑ test match with special characters in kid
com.jiangtj.micro.auth.oidc.OpenIDConnectAutoConfigurationTest ‑ test JwtConverter bean is created
com.jiangtj.micro.auth.oidc.OpenIDConnectAutoConfigurationTest ‑ test JwtProperties bean is configured
com.jiangtj.micro.auth.oidc.OpenIDConnectAutoConfigurationTest ‑ test OidcLocator bean is created
com.jiangtj.micro.auth.oidc.OpenIDConnectAutoConfigurationTest ‑ test all required beans are present
com.jiangtj.micro.auth.wechat.WeChatAuthContextConverterTest ‑ convert_InvalidJwt_ThrowsException
com.jiangtj.micro.auth.wechat.WeChatAuthContextConverterTest ‑ convert_MultipleAuthorizationHeaders_ReturnsNull
com.jiangtj.micro.auth.wechat.WeChatAuthContextConverterTest ‑ convert_NoAuthorizationHeader_ReturnsNull
com.jiangtj.micro.auth.wechat.WeChatAuthContextConverterTest ‑ convert_ValidJwt_ReturnsAuthContext
com.jiangtj.micro.common.DatetimeFormattersKTest ‑ test
com.jiangtj.micro.common.DatetimeFormattersTest ‑ testFormatters
com.jiangtj.micro.common.JsonUtilsKtTest ‑ fromJson
com.jiangtj.micro.common.JsonUtilsKtTest ‑ getListFromJson
com.jiangtj.micro.common.JsonUtilsKtTest ‑ testGeneric
com.jiangtj.micro.common.JsonUtilsKtTest ‑ toJson
com.jiangtj.micro.common.JsonUtilsTest ‑ fromJson
com.jiangtj.micro.common.JsonUtilsTest ‑ getListFromJson
com.jiangtj.micro.common.JsonUtilsTest ‑ toJson
com.jiangtj.micro.common.form.FormRuleGeneratorKtTest ‑ testCache
com.jiangtj.micro.common.form.FormRuleGeneratorKtTest ‑ testExampleWithKNullMaker
com.jiangtj.micro.common.form.FormRuleGeneratorKtTest ‑ testGenerate
com.jiangtj.micro.common.form.FormRuleGeneratorKtTest ‑ testListV
com.jiangtj.micro.common.form.FormRuleGeneratorTest ‑ testCache
com.jiangtj.micro.common.form.FormRuleGeneratorTest ‑ testGenerate
com.jiangtj.micro.common.form.FormRuleGeneratorTest ‑ testListV
com.jiangtj.micro.common.utils.FileNameUtilsTest ‑ testGetRandomFileNameWithSuffix
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testGet
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testGetHex
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testGetHexWithFormat
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testGetHexWithFormatAndEsc
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testGetNextVal
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testGetNum
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testGetNumWithFormat
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testGetNumWithFormatAndEsc
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testGetWithFormat
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testGetWithFormatAndEsc
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testSubStringByLength
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testSubStringByLengthAndSize
com.jiangtj.micro.common.utils.RandomStringUtilsTest ‑ testSubstring
com.jiangtj.micro.common.utils.ToMapTest ‑ toMap
com.jiangtj.micro.common.utils.UUIDUtilsTest ‑ testCompressToBase64
com.jiangtj.micro.common.utils.UUIDUtilsTest ‑ testGenerateBase64Compressed
com.jiangtj.micro.common.validation.MaxLengthValidatorTest ‑ testBase
com.jiangtj.micro.common.validation.MaxLengthValidatorTest ‑ testTrim
com.jiangtj.micro.common.validation.MinLengthValidatorTest ‑ testBase
com.jiangtj.micro.common.validation.MinLengthValidatorTest ‑ testTrim
com.jiangtj.micro.common.validation.MobilePhoneValidatorTest ‑ testNumber
com.jiangtj.micro.common.validation.MobilePhoneValidatorTest ‑ testString
com.jiangtj.micro.demobackend.BaseControllerTests ‑ testErr
com.jiangtj.micro.demobackend.BaseControllerTests ‑ testHaveToken
com.jiangtj.micro.demobackend.BaseControllerTests ‑ testIndex
com.jiangtj.micro.demobackend.BaseControllerTests ‑ testNotHaveToken
com.jiangtj.micro.demobackend.BaseRouterTests ‑ testErr
com.jiangtj.micro.demobackend.BaseRouterTests ‑ testHaveToken
com.jiangtj.micro.demobackend.BaseRouterTests ‑ testNotHaveToken
com.jiangtj.micro.demobackend.ExceptionStatusTests ‑ testErr2
com.jiangtj.micro.demobackend.ExceptionStatusTests ‑ testFnErr2
com.jiangtj.micro.demobackend.RBACControllerTest ‑ hasLoginWithToken
com.jiangtj.micro.demobackend.RBACControllerTest ‑ hasLoginWithoutToken
com.jiangtj.micro.demobackend.ValidationTests ‑ testInvalidJavaBean
com.jiangtj.micro.demobackend.ValidationTests ‑ testInvalidMobilePhone
com.jiangtj.micro.demobackend.ValidationTests ‑ testValidJavaBean
com.jiangtj.micro.demobackend.ValidationTests ‑ testValidMobilePhone
com.jiangtj.micro.demobackend.anno.HasSubjectTestServiceTest ‑ testId1
com.jiangtj.micro.demobackend.anno.HasSubjectTestServiceTest ‑ testId2
com.jiangtj.micro.demobackend.anno.RbacTestServiceTest ‑ testAntPermission
com.jiangtj.micro.demobackend.anno.RbacTestServiceTest ‑ testCustomAnno
com.jiangtj.micro.demobackend.anno.RbacTestServiceTest ‑ testHasA
com.jiangtj.micro.demobackend.anno.RbacTestServiceTest ‑ testHasB
com.jiangtj.micro.demobackend.anno.RbacTestServiceTest ‑ testNoLogin
com.jiangtj.micro.demobackend.anno.RbacTestServiceTest ‑ testOnlyLogin
com.jiangtj.micro.demobackend.anno.RbacTestServiceTest ‑ testOver
com.jiangtj.micro.demobackend.anno.RbacTestServiceTest ‑ testUser
com.jiangtj.micro.demobackend.validation.ValidatorTest ‑ testNest
com.jiangtj.micro.demoreactive.BaseControllerTests ‑ testErr
com.jiangtj.micro.demoreactive.BaseControllerTests ‑ testHaveRoleAnnotations
com.jiangtj.micro.demoreactive.BaseControllerTests ‑ testHaveToken
com.jiangtj.micro.demoreactive.BaseControllerTests ‑ testIndex
com.jiangtj.micro.demoreactive.BaseControllerTests ‑ testNotHaveRoleAnnotations
com.jiangtj.micro.demoreactive.BaseControllerTests ‑ testNotHaveToken
com.jiangtj.micro.demoreactive.BaseRouterTests ‑ testErr
com.jiangtj.micro.demoreactive.BaseRouterTests ‑ testHaveToken
com.jiangtj.micro.demoreactive.BaseRouterTests ‑ testNotHaveToken
com.jiangtj.micro.demoreactive.ExceptionStatusTests ‑ testErr2
com.jiangtj.micro.demoreactive.ExceptionStatusTests ‑ testFnErr2
com.jiangtj.micro.demoreactive.anno.HasSubjectTestServiceTest ‑ testId1
com.jiangtj.micro.demoreactive.anno.HasSubjectTestServiceTest ‑ testId2
com.jiangtj.micro.demoreactive.anno.RbacTestServiceTest ‑ testCustomAnno
com.jiangtj.micro.demoreactive.anno.RbacTestServiceTest ‑ testHasA
com.jiangtj.micro.demoreactive.anno.RbacTestServiceTest ‑ testHasB
com.jiangtj.micro.demoreactive.anno.RbacTestServiceTest ‑ testNoLogin
com.jiangtj.micro.demoreactive.anno.RbacTestServiceTest ‑ testOnlyLogin
com.jiangtj.micro.demoreactive.anno.RbacTestServiceTest ‑ testOver
com.jiangtj.micro.demoreactive.anno.RbacTestServiceTest ‑ testUser
com.jiangtj.micro.payment.DBGenerateTest ‑ generate
com.jiangtj.micro.pic.upload.LocalPicUploadServiceTest ‑ testDataSize
com.jiangtj.micro.pic.upload.LocalPicUploadServiceTest ‑ testUploadExceedMaxSize
com.jiangtj.micro.pic.upload.LocalPicUploadServiceTest ‑ testUploadInvalidExtension
com.jiangtj.micro.pic.upload.LocalPicUploadServiceTest ‑ testUploadValidImage
com.jiangtj.micro.pic.upload.minio.MinIOServiceTest ‑ testUri
com.jiangtj.micro.spring.boot.reactive.IntervalSchedulerTest ‑ shouldRunTenTimes
com.jiangtj.micro.sql.jooq.PageUtilsTest ‑ conditionStep
com.jiangtj.micro.sql.jooq.PageUtilsTest ‑ fromStep
com.jiangtj.micro.sql.jooq.PageUtilsTest ‑ limitStep
com.jiangtj.micro.sql.jooq.PageUtilsTest ‑ selectCount
com.jiangtj.micro.sql.jooq.PageUtilsTest ‑ selectFieldStep
com.jiangtj.micro.sql.jooq.PageUtilsTest ‑ selectLimitList
com.jiangtj.micro.sql.jooq.PageUtilsTest ‑ selectPage
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testAndNotDeleted
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testBetweenEmptyDates
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testBetweenInvalidDateCount
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testBetweenInvalidDateRange
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testBetweenLocalDate
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testBetweenLocalDateFromLocalDateList
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testBetweenLocalDateTime
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testBetweenNullDates
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testConditionVarargEmptyValues
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testConditionVarargMultipleValues
com.jiangtj.micro.sql.jooq.dao.kt.ConditionExtTest ‑ testConditionVarargSingleValue
com.jiangtj.micro.sql.jooq.dao.kt.PageUtilsTest ‑ testMock
com.jiangtj.micro.sql.jooq.dao.kt.PageUtilsTest ‑ testNoWhere
com.jiangtj.micro.sql.jooq.dao.kt.PageUtilsTest ‑ testWithConditionByExample
com.jiangtj.micro.sql.jooq.dao.kt.PageUtilsTest ‑ testWithConditionByExampleAndIgnore
com.jiangtj.micro.sql.jooq.dao.kt.PageUtilsTest ‑ testWithMultiWhere
com.jiangtj.micro.sql.jooq.dao.kt.PageUtilsTest ‑ testWithWhere
com.jiangtj.micro.sql.jooq.dao.kt.PageUtilsTest ‑ testWithWhereAnd
com.jiangtj.micro.sql.jooq.jackson.JacksonTest ‑ testNoJSONModule
com.jiangtj.micro.sql.jooq.jackson.JacksonTest ‑ testWithJSONModule
com.jiangtj.micro.web.MicroCommonApplicationTests ‑ contextLoads
com.jiangtj.micro.web.SpelUtilsJTest ‑ getMethodContext
com.jiangtj.micro.web.SpelUtilsTest ‑ getMethodContext
com.jiangtj.micro.web.aop.AnnotationMethodBeforeAdviceTest ‑ matchAnnotatedClass
com.jiangtj.micro.web.aop.AnnotationMethodBeforeAdviceTest ‑ matchAnnotatedMethod
com.jiangtj.micro.web.aop.AnnotationPointcutTest ‑ matchAnnotatedClass
com.jiangtj.micro.web.aop.AnnotationPointcutTest ‑ matchAnnotatedMethod
Loading