ai-refactor(flow): 调整抽象流程节点实现和依赖路径
- 修改 AbstractProcessNode 中 ProcessContext 的命名空间引用为 app\flow\context\ProcessContext - 引入 app\flow\vo\CanHandleResult 用于节点处理结果表示 - 更新前置策略执行后对成功状态的判断,改为调用 isSuccess() 方法 - 增加日志记录细节,便于调试策略执行中断时的错误信息 - 优化代码注释,提升代码可读性和维护性
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
namespace tests\flow\cases;
|
||||
|
||||
use tests\flow\TestCase;
|
||||
use tests\flow\VirtualContextBuilder;
|
||||
use tests\flow\VirtualityFlowProcessor;
|
||||
|
||||
/**
|
||||
* 辅助工具测试
|
||||
*
|
||||
* 测试 VirtualityFlowProcessor 和 VirtualContextBuilder 等测试工具
|
||||
*/
|
||||
class HelperTest extends TestCase
|
||||
{
|
||||
private VirtualityFlowProcessor $processor;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
$this->processor = VirtualityFlowProcessor::createStandard();
|
||||
}
|
||||
|
||||
protected function tearDown(): void
|
||||
{
|
||||
parent::tearDown();
|
||||
$this->processor->reset();
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试 VirtualityFlowProcessor 状态重置
|
||||
*/
|
||||
public function testProcessorReset(): void
|
||||
{
|
||||
// 执行一些操作
|
||||
$this->processor->swipe('操作员1', '胃镜1', '清洗');
|
||||
|
||||
// 重置
|
||||
$this->processor->reset();
|
||||
|
||||
// 重置后应该是新流程
|
||||
$history = $this->processor->getHistory();
|
||||
$this->assertEmpty($history, '重置后历史应为空');
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试 VirtualContextBuilder 功能
|
||||
*/
|
||||
public function testVirtualContextBuilder(): void
|
||||
{
|
||||
$builder = VirtualContextBuilder::create();
|
||||
|
||||
$context = $builder
|
||||
->endoscope('胃镜1')
|
||||
->reader('清洗')
|
||||
->operator('操作员1')
|
||||
->currentStep('清洗')
|
||||
->batchNo('20260310010001')
|
||||
->build();
|
||||
|
||||
$this->assertEquals('清洗', $context->getCurrentStep());
|
||||
$this->assertEquals('20260310010001', $context->getBatchNo());
|
||||
$this->assertEquals('张三', $context->getOperator()->name);
|
||||
$this->assertEquals('胃镜1号', $context->getEndoscope()->name);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试环境配置加载
|
||||
*/
|
||||
public function testEnvironmentConfig(): void
|
||||
{
|
||||
$env = $this->processor->getEnvironment();
|
||||
|
||||
$this->assertArrayHasKey('readers', $env);
|
||||
$this->assertArrayHasKey('endoscopes', $env);
|
||||
$this->assertArrayHasKey('operators', $env);
|
||||
$this->assertArrayHasKey('config', $env);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user