加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl -d和modulino问题

发布时间:2020-12-15 21:49:41 所属栏目:大数据 来源:网络整理
导读:我有一些脚本,我已经开始使用“modulino”的想法进行单元测试.我遇到了一个问题,当使用“perl -d”调用脚本时,脚本不会运行,因为caller()返回一个true值. 我将脚本的主体包裹在main()中,并将一些子程序慢慢地从main()中拉出到它们自己的子程序中. 在脚本的顶
我有一些脚本,我已经开始使用“modulino”的想法进行单元测试.我遇到了一个问题,当使用“perl -d”调用脚本时,脚本不会运行,因为caller()返回一个true值.

我将脚本的主体包裹在main()中,并将一些子程序慢慢地从main()中拉出到它们自己的子程序中.

在脚本的顶部我有:

main(@ARGS) unless caller();

当在.t测试中调用时,它可以按我的意愿工作,而不是运行main(),所以我可以测试子程序.当我从CLI调用脚本时,它可以很好地调用main().

当我从CLI调用它时出现问题:

perl -d myscript.pl

在此阶段,调用者返回一个有效值(而不是undef),并且不调用main.

关于如何处理这个建议将非常感激.

解决方法

使用-d开关的情况与测试类似 – 您的代码由其他东西执行,在本例中为调试器.

您可以通过手动在调试器中调用main来自行运行main,也可以检测调用者是否是调试器.就像是:

main(@ARGS) if !caller() || (caller)[0] eq 'DB';

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读