我正在制作红宝石宝石。我正在用Minitest编写单元测试。

问题描述 投票:0回答:1
require 'my_gem'

时仍通过。这应该给一些确认,当他们安装该宝石时的用户将获得与我相同的确切结果。

在耙子或最大的技术(或其他一些技术)中,正确的方法是什么? comports能够使用命令行arg来回翻转。 ruby:3.2.3,最高:5.25.4耙子:13.2.1

	

TBH作为GEM维护器,我从不需要针对某些特定版本进行GEM测试。但是,在您的情况下,似乎以下方法应起作用:

在测试中使用

require "<my-gem>"

-run测试与

bundler

-

bundle exec rake ...

拥有2个文件,可以使用本地源代码和安装的本地gem
ruby rubygems rake minitest
1个回答
0
投票

开发GEM,通常包括在

Gemfile
    文件中声明的依赖项,并带有声明:
  • 文件:
    gemspec
  • IT添加到一个文件声明中,以使用位于当前目录中的源代码的开发GEM(
    Gemfile
    )的源代码。例如,对于我维持的宝石(
    gemspec
    ),它看起来如下:
  • # Gemfile gemspec # development dependencies # ...
    更多详细信息,您可能会在这里找到-https://bundler.io/guides/rubygems.html
  • .
.

在第二个test测试中,您可能需要使用特定版本明确的GEM的发布版本,而不是使用

Gemfile.lock
方法:
my-gem

作为一个选项,您可以使用单个
dynamoid
并检查一些ENV变量以使用

PATH remote: . specs: dynamoid (3.11.0) activemodel (>= 4) aws-sdk-dynamodb (~> 1.0) concurrent-ruby (>= 1.0)

方法或明确声明对
Gemfile
的依赖性。
my-gem

通常,我使用以下肮脏的骇客在本地运行一些宝石测试:

gemspec命令

安装依赖项

使用
# Gemfile gem "<my-gem>", "1.0" # development dependencies # ...
再次运行测试源代码
使用
Gemfile

再次运行测试,已安装的GEM版本

    


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.