【问题标题】:PeopleSoft Testing - Catch CreateProcessRequest errorPeopleSoft 测试 - 捕获 CreateProcessRequest 错误
【发布时间】:2018-01-09 10:50:43
【问题描述】:

我目前正在进行组件测试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 出错(或返回非零退出代码),或者它是如何工作的,以便我可以创建一个条件并对其进行测试。谢谢:)

【问题讨论】:

  • “我要怎么做才能让我的程序执行 else 语句以进行测试,以表明它会捕获错误。”我不明白这个问题。代码的当前行为是什么?您对代码的预期行为是什么?你想让它做什么它还没有做的事情?
  • 代码没有问题。我想要做的是让我的代码运行出错,以便我可以捕获它以进行测试。我如何让 CreateProcessRequest 返回非零退出代码。

标签: unit-testing peoplesoft peoplesoft-app-engine


【解决方案1】:

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

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

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

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

schedule() 文档说

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

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

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

&amp;RQST.RunControlID = &amp;RunCntlID;

【讨论】:

  • 这对你很有帮助。我认为这让我对如何测试这个有了一些想法。我可以为这些值弄乱一些数据后端,让它返回错误。由于我需要在不更改任何代码的情况下进行测试,因为一旦迁移并需要在更高的环境中进行测试,就无法更改代码。但是这个输入非常有帮助。谢谢大佬!
猜你喜欢
  • 2018-01-14
  • 1970-01-01
  • 2014-10-12
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 2015-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多