測試 Ruby¶ ↑
測試套件¶ ↑
Ruby 程式碼庫中有幾個測試套件
我們可以並行執行任何 make 程式碼,以加快執行速度。
-
這是一個小型測試套件,在 Miniruby 上執行(請參閱建立 Ruby)。我們可以使用以下指令執行:
make btest
要使用記錄檔執行,我們可以使用
make btest OPTS=-v
要執行個別的引導測試,我們可以指定檔案名稱清單或在變數
BTESTS
中使用--sets
旗標make btest BTESTS="bootstraptest/test_fork.rb bootstraptest/tes_gc.rb" make btest BTESTS="--sets=fork,gc"
如果我們要在 Ruby(而非 Miniruby)上執行引導測試套件,我們可以使用
make test
要使用記錄檔執行,我們可以使用
make test OPTS=-v
要使用 GNU make 執行檔案或目錄,我們可以使用
make test/ruby/test_foo.rb make test/ruby/test_foo.rb TESTOPTS="-n /test_bar/"
-
這是一個在 Ruby 上執行的更全面的測試套件。我們可以使用以下方式執行它
make test-all
我們可以使用
TESTS
選項在這個套件中執行特定的測試目錄,例如make test-all TESTS=test/rubygems
我們也可以使用
TESTS
選項在這個套件中執行特定的測試檔案,例如make test-all TESTS=test/ruby/test_array.rb
我們可以使用
TESTS
選項在這個套件中執行特定的測試,首先指定檔案名稱,然後指定測試名稱,並加上--name
前綴。例如make test-all TESTS="../test/ruby/test_alias.rb --name=TestAlias#test_alias_with_zsuper_method"
要使用記錄檔執行這些規格,我們可以使用
make test-all TESTS=-v
我們可以顯示
TESTS
選項的說明make test-all TESTS=--help
如果我們想要執行
test/
、bootstraptest/
和spec/
測試套件(spec/
會在後面的章節中說明),我們可以執行make check
-
這是存在於 Ruby 規格儲存庫 中的測試套件,並鏡射到 Ruby 儲存庫中的
spec/ruby
目錄中。它會測試 Ruby 程式語言的行為。我們可以使用以下方式執行它make test-spec
要執行特定的目錄,我們可以使用
SPECOPTS
來指定目錄make test-spec SPECOPTS=spec/ruby/core/array
要執行特定的檔案,我們也可以使用
SPECOPTS
來指定檔案make test-spec SPECOPTS=spec/ruby/core/array/any_spec.rb
要執行特定的測試,我們可以使用
--example
旗標來比對測試名稱make test-spec SPECOPTS="../spec/ruby/core/array/any_spec.rb --example='is false if the array is empty'"
要使用記錄檔執行這些規格,我們可以使用
make test-spec SPECOPTS=-Vfs
要使用 GNU make 執行 ruby-spec 檔案或目錄,我們可以使用
make spec/ruby/core/foo/bar_spec.rb
-
bundler 測試套件存在於 RubyGems 儲存庫 中,並鏡射到 Ruby 儲存庫中的
spec/bundler
目錄中。我們可以使用以下方式執行它make test-bundler
要執行特定的 bundler 規格檔案,我們可以使用
BUNDLER_SPECS
,如下所示make test-bundler BUNDLER_SPECS=commands/exec_spec.rb
疑難排解¶ ↑
在 s390x CPU 架構上執行測試套件¶ ↑
如果我們看到在 s390x CPU 架構上與 zlib 函式庫相關的測試失敗,我們可以使用 DFLTCC=0
執行測試套件以通過
DFLTCC=0 make check
這些失敗可能會發生在 zlib 函式庫套用 madler/zlib#410 修補程式以啟用縮小演算法產生不同的壓縮位元組串流時。我們在 [ruby-core:114942][Bug #19909] 管理此問題。