在intellij中运行perl测试:无法在

时间:2019-08-25 06:06:38

标签: perl intellij-idea tdd

我想在Tests派生的intellij中创建perl模块。我在一个新项目中创建了以下测试,如下所示

#!/usr/bin/perl
use strict;
use warnings;
use Test::More;

done_testing();

但是当我尝试运行测试(Shift + Alt + F10)时,它失败并显示以下错误

  

测试于10:51开始...   C:/ Strawberry / perl / bin \ perl.exe C:/Strawberry/perl/bin/prove.bat -PPassEnv --formatter TAP :: Formatter :: Camelcade --merge --recurse --jobs 1 D:/ workspace /code/repo/Modules/ImageUtilities/ReaConverterTest.t   无法在C:/Strawberry/perl/bin/prove.bat第26行加载模块PassEnv。
  流程结束,退出代码为2

但是当我从命令行运行测试时,效果很好

$ perl -w ReaConverterTest.t
1..0

我看到intellij perl插件(https://github.com/Camelcade/Perl5-IDEA/issues/1966)报告了一个问题,但已关闭。看起来它已在2019.1 Perl中修复,但我不知道为什么它对我失败。

关于如何解决此问题的任何想法?

PS:我正在使用Git-Bash运行Perl脚本,使用IntelliJ在Windows上安装了草莓Perl作为Perl解释器。


更新

当我通过添加“ use PassEnv”运行脚本时,由于没有这样的模块而失败,从intellij搜索也导致“没有这样的模块”

perl -w ReaConverter.t
Can't locate PassEnv.pm in @INC (you may need to install the PassEnv module) (@INC contain
s: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/sha
re/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl) at ReaConverter.
t line 6.
BEGIN failed--compilation aborted at ReaConverter.t line 6.

1 个答案:

答案 0 :(得分:2)

由于使用了-PPassEnv选项,prove尝试加载App :: Prove :: Plugin :: PassEnv。尚未安装。只需安装模块。

注意:您要使用Strawberry Perl安装它,因此以下内容似乎是您首选外壳程序中的适当命令:

/c/Strawberry/perl/bin/cpanm App::Prove::Plugin::PassEnv