PeopleSoft测试:如何触发CreateProcessRequest返回错误以完成测试
如何触发CreateProcessRequest返回非零退出码以完成组件测试?
我之前做过类似的PeopleSoft组件测试,分享几个靠谱的实操方法,帮你触发CreateProcessRequest返回非零退出码,完成这个测试场景的验证:
修改目标SQR程序,强制返回非零退出码
最直接的方式就是在你调用的Test.sqr里添加一行退出指令,让它执行后立刻返回非零值。比如在SQR的开头或者某个测试分支里加:! 强制返回退出码1,触发错误逻辑 stop 1;当
CreateProcessRequest调用这个SQR时,程序会直接终止并返回1,刚好触发你代码里的错误处理分支。传入无效的运行控制参数
故意构造无效的运行控制信息,让SQR无法正常执行。比如使用一个不存在的RunControlID:! 替换成一个系统中不存在的RunControlID &RunCntlID = "INVALID_TEST_RUNCNTL"; &RQST = CreateProcessRequest("SQR Process", &MI_SQRProcess); &RQST.RunControlID = &RunCntlID; &RQST.Schedule();当SQR尝试读取这个不存在的运行控制记录时,会抛出错误并返回非零退出码。
使用无权限的用户执行
把&RUN_OPRID设置成一个没有权限运行Test.sqr的用户账号。这样系统在调度SQR进程时,会因为权限不足拒绝执行,返回非零状态码。指定不存在的SQR程序名称
故意写错SQR程序的名字,让系统找不到要执行的目标程序:! 改成一个不存在的SQR名称 &MI_SQRProcess = "Test_Invalid_Program"; &RQST = CreateProcessRequest("SQR Process", &MI_SQRProcess);这种情况下,
CreateProcessRequest会因为找不到指定的SQR程序,直接返回错误状态。
内容的提问来源于stack exchange,提问作者jackono
相关产品推荐
相关产品推荐

