测试模块上的Perl调试器

时间:2015-01-01 20:49:45

标签: perl debugging testing

我在测试模块的新增功能时遇到了问题。 (具体来说 - 〜运算符似乎不能在Math :: Complex中使用这个新功能。)它看起来太奇怪了,但理想的方案是在顶部添加-d选项.t程序的一行。

好吧,我很快就被那个想法所摒弃了!它不会调用调试器。

如果我想使用调试器,我需要创建一个.t程序的编辑:

  • 直接使用(使用命令)模块。不是以形式 BEGIN {use_ok(' My :: Module')};
  • 不使用Test :: More;"
  • 其他一些导致臀肌痛的编辑

这样做的问题是我在编辑的测试程序中所做的任何更改仍然需要转移回真正的测试程序使用" make test"。容易出错。

我已经在使用" make test TEST_VERBOSE = 1"这样我的stdio输出就显示出来了。但是,GOT是一种在.t

上调用调试器的简单方法

感谢您的想法。

- JS

1 个答案:

答案 0 :(得分:1)

use_ok测试很棒,但你应该把它们放在自己的测试文件中,而不是测试其他东西的测试文件。

我不确定为什么你需要避免使用Test :: More或use_ok来运行调试器。直接尝试测试时会发生什么:

perl -d -Mblib t/yourtestfile.t?

如果所有其他方法都失败了,您可以尝试在测试脚本中使用Enbugger