系统配置:
$ cat /etc/debian_version
9.8
$ ruby --version
ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-linux]
$ rails --version
Rails 6.0.0.beta3
$ identify --version
Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png tiff wmf x xml zlib
造成我麻烦的治具文件:
$ cd activestorage
$ md5sum ./test/fixtures/files/icon.svg
ab4bbe53146201534d9fac79399066d9 ./test/fixtures/files/icon.svg
$ identify ./test/fixtures/files/icon.svg
./test/fixtures/files/icon.svg SVG 743x548 743x548+0+0 8-bit sRGB 9.44KB 0.000u 0:00.000
测试失败(./test/analyzer/image_analyzer_test.rb
):
# frozen_string_literal: true
require "test_helper"
require "database/setup"
require "active_storage/analyzer/image_analyzer"
class ActiveStorage::Analyzer::ImageAnalyzerTest < ActiveSupport::TestCase
# [...]
test "analyzing an SVG image without an XML declaration" do
blob = create_file_blob(filename: "icon.svg", content_type: "image/svg+xml")
metadata = extract_metadata_from(blob)
assert_equal 792, metadata[:width]
assert_equal 584, metadata[:height]
end
end
我的本地二进制文件告诉我该文件的宽度为743,但测试服预计为792。
由于此测试已合并至母版,因此我认为它是有效的,并且已经(至少)在其作者的OS和Rails的CI上成功进行了测试。
我在这里想念什么?为什么在本地运行测试时失败?