ruby - 使用 RSpec 2 测试 RUBY_PLATFORM

标签 ruby testing environment-variables tdd rspec2

有没有办法更改RUBY_PLATFORM常量,以便我可以测试以下方法?

def determine_os
  case RUBY_PLATFORM
    when /darwin/ then :mac
    when /linux/ then :linux
    else raise InvalidOSError
  end
end

最佳答案

RUBY_PLATFORM 不应用于确定操作系统。请改用哈希 RbConfig 中的适当项。

另外,如果你想让它更容易测试,你可以这样做

def determine_os(os_string)
  case os_string
    when /darwin/ then :mac
    when /linux/ then :linux
    else raise InvalidOSError
  end
end

您可以为您的测试执行define_os("darwin")

关于ruby - 使用 RSpec 2 测试 RUBY_PLATFORM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5446603/

相关文章:

ruby-on-rails - Rails EXCEPT 查询(过滤出联合表中存在的记录)

ruby-on-rails - 事件记录查询的类方法

ruby-on-rails - ActionController::Racers 中的 UrlGenerationError#new

R:本地环境中的 testthat test_file() 问题

linux - 致命的 : $HOME not set on POP OS

ruby - 为什么 xelatex 不想被 popen3 以 vararg 形式调用?

java - JUnit:是否可以创建一个测试套件来执行共享命名约定的类的所有测试?

python - 设置江湖骗子测试的查询参数

cmake - 如何修改传递给自定义 CMake 目标的环境变量?

reactjs - 为什么 .env.development 不能在我的 Next.js 应用程序中运行?