Skip to content

Commit bb8845d

Browse files
author
github-ci
committed
fix(wechat-work-push-bundle): 修复 SendMessageListenerTest 中的 final 类 mock 问题
1 parent 3d256cf commit bb8845d

File tree

3 files changed

+6
-13
lines changed

3 files changed

+6
-13
lines changed

src/Service/Snowflake.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public static function getGenerator(int $datacenter = -1, int $workerId = -1, ?S
3232
$datacenter,
3333
$workerId,
3434
);
35-
$generator->setSequenceResolver($resolver ?: new RandomSequenceResolver());
35+
$generator->setSequenceResolver($resolver ?? new RandomSequenceResolver());
3636
self::$generators[$key] = $generator;
3737
}
3838
return self::$generators[$key];

tests/Service/ResolverFactoryTest.php

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -93,18 +93,11 @@ public function test_resolver_returnsSequenceResolverInterface(): void
9393
$resolver1 = $resolverFactory1->resolver();
9494
$this->assertInstanceOf(SequenceResolver::class, $resolver1);
9595

96-
// 测试有Redis情况 - 使用mock避免实际Redis连接
96+
// 测试有Redis情况 - 确保Redis mock正确设置了所有必要的方法
9797
$redis = $this->createMock(Redis::class);
98-
99-
// 创建一个部分模拟的ResolverFactory,只模拟resolver方法返回
100-
$resolverFactory2 = $this->getMockBuilder(ResolverFactory::class)
101-
->setConstructorArgs([$redis])
102-
->onlyMethods(['resolver'])
103-
->getMock();
104-
105-
$mockResolver = $this->createMock(SequenceResolver::class);
106-
$resolverFactory2->method('resolver')->willReturn($mockResolver);
107-
98+
$redis->method('ping')->willReturn(true); // 模拟ping成功
99+
$redis->method('eval')->willReturn(1); // 模拟lua脚本执行结果
100+
$resolverFactory2 = new ResolverFactory($redis);
108101
$resolver2 = $resolverFactory2->resolver();
109102
$this->assertInstanceOf(SequenceResolver::class, $resolver2);
110103
}

tests/Service/SnowflakeTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public function test_generateWorkerId_handlesVariousInputs(string $hostname, int
5555
/**
5656
* 为testGenerateWorkerId提供测试数据
5757
*/
58-
public function workerIdDataProvider(): array
58+
public static function workerIdDataProvider(): array
5959
{
6060
return [
6161
'default_max_worker_id' => ['localhost', 31, 31],

0 commit comments

Comments
 (0)