调试第三方gem的过程

姆比格拉斯

使用guard-cucumber插件时,我发现它不能与terminal-notifier-guard一起使用

找出问题所在并开始进行持久修复的最佳方法是什么?

一些重要的标准是:

  1. 我想尽快起床并运行。
  2. 一旦启动并运行,我希望能够尽可能快地进行迭代。
  3. 我想尽可能少地更改我的项目。
  4. 我希望能够保留我对版本控制所做的更改,以免失去对它们的跟踪。
  5. 如果需要,我希望能够获得有关我的更改的反馈。
  6. 我想在一个孤立的环境中测试我的更改。
  7. 我不想更改guard-cucumber系统上安装gem。

这是我的过程:

  1. 分叉项目并克隆它。
  2. 创建一个新分支
  3. guard-cucumber-cats在gemspec中将名称更改为
  4. 在克隆的宝石中,做一些工作。
  5. 在我的工作附近添加一个断点pry

    require 'pry'
    binding.pry
    
  6. rake install安装guard-cucumber-cats在我的机器上。

  7. 在我的项目中,添加guard-cucumber-cats为dep并guard-cucumber在gemspec中注释掉。例如:

    # spec.add_development_dependency "guard-cucumber", "~> 2.1.2"
    spec.add_development_dependency "guard-cucumber-cats"
    
  8. 运行我的项目,点击调试,弄乱代码。
  9. 重复4-8

根据标准考虑流程:

  1. 起来并运行起来还不错
  2. 迭代非常痛苦,guard-cucumber-cats每次我想测试更改时都必须重新安装,这很尴尬。
  3. 在我的项目gemspec中更改一行似乎并不坏,但是最好什么也不能更改。
  4. git一开始就拥有正确的所有好处,这是一个巨大的优势
  5. 一样 github
  6. 我没有使用vagrant或docker的工作流设置,因此我的“隔离”测试环境基本上只是我的笔记本电脑上的我。也许这是一个建立可运行的容器化开发环境的好机会?我不确定,但是我现在拥有它的方式似乎不符合此条件。
  7. 尽管必须重命名gem并将其安装在我的系统上似乎很尴尬,但是很好的是,我不需要更改计算机上的实际值guard-cucumber

理想情况下,我希望能够执行以下操作:

  1. cp -r 我的项目进入了一些沙盒环境
  2. 将分叉克隆guard-cucumber到相同的沙盒环境中
  3. 让一切“正常工作”
  4. 做克隆的工作 guard-cucumber
  5. 重复4

我读了另一个答案,只是开始编辑系统gem,但不喜欢该解决方案,因为我失去了gitand的好处github

是否有更好的过程对您有用?还是我的过程可以改进?

另外,作为旁注:这是将代码块嵌套在列表中的方式

阿库恩

使用:path在项目的Gemfile中。

您正在同时从事宝石my_gem和项目my_project要使此工作轻松进行,请在您的项目的gemfile中使用

# in /path/to/my_project/Gemfile
...

gem 'my_gem', :path => '/path/to/my_gem'

...

然后您可以进行迭代,而不必始终构建宝石。

甚至不需要重命名gem。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章