我正在开发一个Ruby gem,它既有纯ruby,也有本机编译组件。纯红宝石有时需要加速,但本机代码无法编译。但是,我在同一测试套件中测试本机和纯ruby代码时遇到了问题。
我有一个包含测试的模块,我正在做这样的事情:
require 'helper'
class BinarySearchNativeTest < Minitest::Test
require 'binary_search/native'
include CommonTests
end
我有类似的不同类名,并且需要一行来导入代码的纯ruby版本。
但是,当我运行此测试套件时,根据加载内容的顺序,它将在两个测试类中使用本机或纯ruby版本。
没有重命名方法和其他技巧来测试这个,这将改变测试中的代码,我对下一步做什么感到茫然。关于如何做到这一点的任何建议,没有将宝石破碎成纯宝石和原生宝石,还有其他问题?