0

我目前正在进行组件测试rn,测试条件之一是捕捉CreateProcessRequest的错误。我有这个代码:

/定义运行控制参数——见下面的代码/

本地进程请求 &RQST;

&RUN_PO_BU = PO_HDR.BUSINESS_UNIT;

&RUN_PO_ID = PO_HDR.PO_ID;

&RUN_OPRID = PO_PNLS_WRK.OPRID;

&RunCntlID = "PS_PO_" | &RUN_PO_BU | &RUN_PO_ID | "_" | UniqueRunCntlID();

&MI_SQRProcess = "测试";

&RQST = CreateProcessRequest("SQR 进程", &MI_SQRProcess);

&RQST.RunControlID = &RunCntlID;

&RQST.Schedule();

&instanceList = &RQST.ProcessInstance;

如果 &RQST.Status = 0 那么

    <do something>;

别的

 Error MsgGet(99999, 99999, "%1 process with instance %2 returned a non->zero exit code(%3)", &MI_SQRProcess, &instanceList, &RQST.Status);

万一;

所以,我的问题是我要做什么(处理)让 CreateProcessRequest 出错(或返回非零退出代码)或者它是如何工作的,以便我可以创建一个条件并对其进行测试。谢谢 :)

4

1 回答 1

0

我想要做的是让我的代码运行出错,以便我可以捕获它以进行测试。我如何让 CreateProcessRequest 返回非零退出代码。

如果我理解正确,听起来您想知道如何导致&RQST.Status包含非零值(即错误)。

您是否尝试过在实例化对象时传入错误的参数?

查看 PeopleBooks,CreateProcessRequest()后跟Schedule(),成功时返回值 0。

schedule() 文档说

  • 如果您正在调度单个进程,则必须将值分配给以下属性:
    • 运行控制ID
    • 进程名称
    • 进程类型

您是否尝试过在不设置 RunControlID 的情况下运行计划?

如果你注释掉这一行会发生什么?

&RQST.RunControlID = &RunCntlID;

于 2018-01-11T05:48:48.907 回答