gpt4 book ai didi

ruby - 如何在 ruby​​ 模块中包含单元测试?

转载 作者:数据小太阳 更新时间:2023-10-29 07:09:42 25 4
gpt4 key购买 nike

我正在尝试将模块的单元测试包含在与模块本身相同的源文件中,遵循 Perl modulino模型。

#! /usr/bin/env ruby

require 'test/unit'

module Modulino
def modulino_function
return 0
end
end

class ModulinoTest < Test::Unit::TestCase
include Modulino
def test_modulino_function
assert_equal(0, modulino_function)
end
end

现在,我可以运行执行此源文件的单元测试。

但是,当我从另一个脚本需要/加载它们时,它们也会运行。如何避免这种情况?

是否有更惯用的方法来使用 Ruby 实现此目的,除非不鼓励这种做法?

最佳答案

就我个人而言,我从未听说有人试图在 Ruby 中这样做。这绝对不是标准做法。那就是说您可以利用这个技巧:

if __FILE__ == $0
# Do something.. run tests, call a method, etc. We're direct.
end

if block 中的代码只有在文件被直接执行时才会执行,如果其他库或应用程序需要它则不会执行。

更多 ruby 技巧在这里:http://www.rubyinside.com/21-ruby-tricks-902.html

关于ruby - 如何在 ruby​​ 模块中包含单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1827148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com