\Tests\FeatureClickCaptchaTest

点选验证码往返回归

被测对象:ClickCaptcha(generate/verify,真实 Redis、专用测试 key) 守护约定:生成→正确坐标校验通过;校验通过即一次性(二次校验失效);错误坐标拒绝。

Summary

Methods
Properties
Constants
test_generate_and_verify_roundtrip()
test_verify_rejects_wrong_coordinates()
No public properties found
No constants found
requireRedis()
buildCacheRegistry()
setUp()
tearDown()
No protected properties found
N/A
No private methods found
$key
N/A

Properties

$key

$key : string

Type

string

Methods

test_generate_and_verify_roundtrip()

test_generate_and_verify_roundtrip() : void

验证生成→正确坐标校验通过,且校验通过后一次性(二次校验失效)。

test_verify_rejects_wrong_coordinates()

test_verify_rejects_wrong_coordinates() : void

验证错误坐标校验被拒绝。

requireRedis()

requireRedis() : void

Redis 依赖探针:直连 Redis 的测试(限流/会话/验证码)在无 Redis 环境(如 CI) 跳过而非失败——其余用例不受影响。CI 可设 TEST_REQUIRE_REDIS=1 强制模式: Redis 不可达即失败而非跳过,安全回归套件不允许静默消失。

buildCacheRegistry()

buildCacheRegistry(array  $items) : void

建缓存注册表最小 schema(td_sys_cache)并灌入注册项。

测试跑 sqlite :memory:,生产迁移含 PostgreSQL 专属 DDL 跑不通(DataScopeServiceTest 同因自建 schema); 而 CacheManager::registry() 现已从数据库表读取——凡走注册表的测试(remember/get/key/失效推导) 必须在 setUp 先调用本方法,否则注册表为空、remember 未登记名会走「自动登记」路径。

Parameters

array $items

setUp()

setUp() : void

tearDown()

tearDown() : void