You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Strawberry Perl安装Spreadsheet::Write时测试报错求助

解决Strawberry Perl安装Spreadsheet::Write模块的测试错误

环境信息

  • Perl版本:
This is perl 5, version 32, subversion 1 (v5.32.1) built for MSWin32-x64-multi-thread

错误现象

安装Spreadsheet::Write 1.03版本时,测试环节失败,报错Spreadsheet data does not match reference for 'csv',完整测试输出:

Running make test for AMALTSEV/Spreadsheet-Write-1.03.tar.gz
"C:\Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/all_tests.t .. ====== Expected:
Column1,Column#2,"Column 3","Column  4"
1,"Cell #2/1",C.3/1,"C.4/1/Γÿ║"
2,"Cell #2/2",C.3/2,"C.4/2/Γÿ║"
======
====== Expected:
Column1,Column#2,"Column 3","Column  4"
1,"Cell #2/1",C.3/1,"C.4/1/Γÿ║"
2,"Cell #2/2",C.3/2,"C.4/2/Γÿ║"
======
# t\lib/Common.pm:79 - WriteCSVTest(test_text_format)
# Boolean assertion failed
# Spreadsheet data does not match reference for 'csv'
#  at t\lib/Common.pm line 79, <DATA> line 1.
#       Common::spreadsheet_test(WriteCSVTest=HASH(0x2686580), "csv", GLOB(0x2692390)) called at t\lib/WriteCSVTest.pm line 15
#       WriteCSVTest::test_text_format(WriteCSVTest=HASH(0x2686580)) called at C:/Strawberry/perl/site/lib/Test/Unit/Lite.pm line 602
#       eval {...} called at C:/Strawberry/perl/site/lib/Test/Unit/Lite.pm line 601
#       Test::Unit::TestSuite::run(Test::Unit::TestSuite=HASH(0x2685e30), Test::Unit::Result=HASH(0x2685e60), Test::Unit::HarnessUnit=HASH(0x78a960)) called at C:/Strawberry/perl/site/lib/Test/Unit/Lite.pm line 750
#       Test::Unit::TestRunner::start(Test::Unit::HarnessUnit=HASH(0x78a960), "Test::Unit::Lite::AllTests") called at t/all_tests.t line 23
t/all_tests.t .. Failed 1/3 subtests

解决方法

  • 跳过测试强制安装:若该测试失败不影响模块核心功能,可直接跳过测试环节完成安装:

    cpanm --notest Spreadsheet::Write
    

    或使用传统CPAN命令:

    perl -MCPAN -e 'install(Spreadsheet::Write, notest => 1)'
    
  • 调整编码环境:报错中的乱码Γÿ║大概率是编码不匹配导致(Windows默认编码与测试用例的UTF-8冲突),先设置环境变量再重试:

    set PERL_UNICODE=S
    
  • 手动修复测试用例:若要彻底解决测试失败问题,找到测试文件t/lib/Common.pm第79行,修改断言逻辑或替换测试用例中的乱码文本,确保编码与实际输出一致。

  • 尝试安装旧版本:若1.03版本存在兼容性问题,可降级安装稳定的旧版本:

    cpanm AMALTSEV/Spreadsheet-Write-1.02.tar.gz
    

内容的提问来源于stack exchange,提问作者Jorocco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:35:28