perl - 有没有什么方法可以在没有计划的情况下使用 Test::More 中的 diag() ?

标签 perl unit-testing

我正在用 Perl 编写一些测试,这些测试有相当多的设置。这个设置都存在于测试脚本使用的模块中。我希望能够从模块中打印一些诊断信息,并打算使用 Test::More 中的 diag 函数。问题是,当您使用 Test::More 时,它会编写计划,所以我得到了

You tried to plan twice at lib/MyTest.pm line 15.

我有什么方法可以使用 diag(或者是否有等效方法),还是我坚持使用 print STDERR

最佳答案

对我来说,以下代码:

  #!/usr/bin/perl
  use strict;
  use Test::More;
  diag('hello');

只是打印

  # hello

Test::More 不会打印计划,除非您告诉它。这是通过将 args 传递给它的导入来完成的:

  use Test::More tests => 30;

或者通过显式调用计划。

  use Test::More;
  plan(tests => 30);

关于perl - 有没有什么方法可以在没有计划的情况下使用 Test::More 中的 diag() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/340548/

相关文章:

unit-testing - 如何为测试目的重新定义/模拟 Go 中的方法?

unit-testing - 无法在单独的类中获取 Executor 的模拟实例

regex - 珀尔 : How to match a parenthesis inside a regexp?

Android 在应用程序内部模拟 applicationcontext

java - 在assertEquals之后不要停止测试

python - 通过数据库调用对数据分析进行单元测试的最佳方法

perl - 如何从模式中获取未知数量的捕获?

arrays - 如何在 Perl 中将数组引用添加到现有数组的中间?

perl - 在非默认浏览器中打开的浏览器中启动 url

linux - perl - 将系统命令重定向到文件