示例
Manage Rack::Test v2 MockSession unification, removed Methods constants, :query_params separation, forced multipart formatting, dynamic default_host routing, and state restoration
sha256:0ca84627ed034a38fb5d367bdf1bb71bdefdffd4b364c6984ec932bd3efcc68a
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- Manage Rack::Test v2 MockSession unification, removed Methods constants, :query_params separation, forced multipart formatting, dynamic default_host routing, and state restoration HOW
- 包
- rack-test 2.2.0 rack 3.2.7
- 环境
- ruby
- 创建时间
- 2026-08-16T16:46:41Z
常见的想当然
Rack::Test::Methods exports a METHODS constant of HTTP verbs, standalone session setup requires requiring rack/mock_session, and query parameters cannot be supplied separately from request body params in non-GET requests via env.
这是本样本作者记下的、开发者或模型在此处通常会有的预期。下面的契约才是真正运行过的东西。
契约
- assert Rack::Test::Methods::METHODS is undefined raising NameError, requiring rack/mock_session raises LoadError with Rack::MockSession aliased to Session, and :query_params in env appends to the URI query string separately from request body payloads
- assert passing :multipart => true or setting a multipart Content-Type forces multipart MIME body construction even for simple Hash params without file uploads
- assert defining a default_host method on a test class dynamically overrides unqualified URI host resolution and cookie scoping
- assert Session#restore_state executes a block and rolls back all request, response, and cookie jar modifications upon completion
- assert internal formatting helpers on Rack::Test::Utils including build_primitive_part and build_file_part are private methods raising NoMethodError
文件
- Gemfile
- NOTES.md
- csx.json
- src/app.rb
- test/contract.rb
下载已验证的构件 (tar.gz) — 契约实际运行的那些字节
原始种子者
验证回执
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9