【问题标题】:Ruby gem testing before deployment部署前的 Ruby gem 测试
【发布时间】:2023-03-27 05:19:02
【问题描述】:

我正在创建一个具有

的宝石
  • bin 目录中的几个脚本
  • lib 目录中的实用程序类
  • 以及测试目录中的几个测试
超级工具 斌 工具A 工具B 库 超级工具 超级工具.rb 助手.rb 测试 tc_main.rb tc_etc.rb

现在,为了在我安装 gem 之前运行测试,我的测试顶部有以下 sn-p:

base = File.basename(Dir.pwd)
if base == 'test' || base =~ /supertool/
   Dir.chdir('..') if base == 'test'
   $LOAD_PATH.unshift(Dir.pwd + '/lib')
   Dir.chdir('test') if base =~ /supertool/
end

不过,这似乎很乏味,尤其是如果我也必须将它们放入 bin 目录中的脚本中。有没有更好的方法来设置环境,以便我们可以在安装 gem 之前对其进行测试?我敢肯定这是我找不到的简单的东西。一个指向正确位置的简单链接会有很大帮助:)

【问题讨论】:

  • 这个问题没有意义。为什么你有那个自定义 chdir'ing 脚本?

标签: ruby testing gem


【解决方案1】:

我不确定您要使用该脚本实现什么目标。好像和宝石没什么关系……

这样您就可以在测试目录中运行ruby tc_main.rb(或在基本目录中运行ruby test/tc_main.rb),并正确设置加载路径吗?如果是这样,这里有一个更好的方法:

在您的测试目录中,创建一个test_helper.rb 文件。在那个文件中,放这个

$LOAD_PATH << File.expand_path( File.dirname(__FILE__) + '/../lib' )

在所有测试文件中,将第一行设置为

require 'test_helper'

如果你的测试目录中有子目录,那么这些子目录中的文件就可以了

require '../test_helper' 

【讨论】:

    【解决方案2】:

    看看锄头宝石,它是其他宝石的帮手。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多