我正在使用高浪 SDK 进行时间性。我正在为我的工作流程编写一个测试。它有一个活动,并且还启动了一个 子工作流 。LoadCreateWorkflowLoadLifecycleWorkflow在为它编写单元测试时,我模拟了活动和子工作流:LoadLifecycleWorkflow s.env.OnActivity(CreateLoadActivity, mock.Anything, mock.Anything).Return(nil, nil).Once() s.env.OnWorkflow(LoadLifecycleWorkflow, mock.Anything).Return(nil) s.env.ExecuteWorkflow(LoadCreateWorkflow, wfParams)(这里 s.env 是单元测试的):TestWorkflowEnvironmentimport ( ... "go.temporal.io/sdk/testsuite")type UnitTestSuite struct { suite.Suite testsuite.WorkflowTestSuite env *testsuite.TestWorkflowEnvironment}func (s *UnitTestSuite) SetupTest() { s.env = s.NewTestWorkflowEnvironment()}运行测试时,我收到一个错误:panic: unable to find workflow type: LoadLifecycleWorkflow. Supported types: [LoadCreateWorkflow]在我的工作流模块的 init 函数中,我注册了它和子工作流:worker.RegisterWorkflow(LoadCreateWorkflow)worker.RegisterActivity(CreateLoadActivity)worker.RegisterWorkflow(LoadLifecycleWorkflow)为什么我收到一个错误,指出我的未注册,我该如何解决?LoadLifecycleWorkflow
1 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
子工作流必须注册到时态 :TestWorkflowEnvironment
s.env.RegisterWorkflow(LoadLifecycleWorkflow)
测试工作流环境是仅用于编写测试的不同环境,因此,您希望工作流在测试中调用的任何子工作流都应注册到此环境。
- 1 回答
- 0 关注
- 80 浏览
添加回答
举报
0/150
提交
取消