首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为类级或模块级常量编写Ruby UnitTest?

如何为类级或模块级常量编写Ruby UnitTest?
EN

Stack Overflow用户
提问于 2012-11-29 03:55:00
回答 1查看 42关注 0票数 0

如何编写测试来验证类或模块中是否存在常量?

示例:

代码语言:javascript
运行
复制
module MyModule
  VERSION = "0.3.1"
end

我试过了

代码语言:javascript
运行
复制
require 'test/unit'
require 'shoulda'
require "my_class"

class MyModuleTest < Test::Unit::TestCase
  should "have a Version constant" do
    # next two lines crash
    assert_respond_to MyModule, :VERSION
    assert_respond_to 'VERSION', MyModule
  end
end
EN

Stack Overflow用户

回答已采纳

发布于 2012-11-29 04:16:58

你会考虑使用来实现更自然的工作流程吗?这意味着你可以使用任何在普通Ruby中工作的方法,这样你就不需要记住很多多余的东西了。

代码语言:javascript
运行
复制
require 'specular'

module MyModule
  VERSION = "0.3.1"  
end  

Spec.new do
  check(MyModule).const_defined? :VERSION
end  

puts Specular.run


# =>   check(MyModule).const_defined? :VERSION
# =>   - passed

# => Specs:       1
# => Tests:       0
# => Assertions:  1

对于普通的Ruby,你可以这样做:MyModule.const_defined? :VERSION

和镜面反射:check(MyModule).const_defined? :VERSION

没有太大的区别,因此没有什么需要反复学习/记住/回忆的。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13613338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档