跳到內容 跳到搜尋

從 minitest 規格名稱解析常數。

假設有以下規格樣式測試

describe WidgetsController, :index do
  describe "authenticated user" do
    describe "returns widgets" do
      it "has a controller that exists" do
        assert_kind_of WidgetsController, @controller
      end
    end
  end
end

測試將有以下名稱

"WidgetsController::index::authenticated user::returns widgets"

可以從名稱解析常數 WidgetsController。以下程式碼將解析常數

controller = determine_constant_from_test_name(name) do |constant|
  Class === constant && constant < ::ActionController::Metal
end