为了账号安全,请及时绑定邮箱和手机立即绑定

为调用子工作流的工作流编写测试时出现临时错误:“找不到工作流类型”

为调用子工作流的工作流编写测试时出现临时错误:“找不到工作流类型”

Go
子衿沉夜 2022-10-04 20:04:22
我正在使用高浪 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)

测试工作流环境是仅用于编写测试的不同环境,因此,您希望工作流在测试中调用的任何子工作流都应注册到此环境。


查看完整回答
反对 回复 2022-10-04
  • 1 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信