我在写一个简单的命令行宝石。如何让阿鲁巴扩展通配符
完成实际工作的库是使用rspec开发的,到目前为止工作正常。
我想要测试命令行部分与阿鲁巴/黄瓜,但我遇到了一些奇怪的行为。
只是为了测试这一点,我已经有了一个二进制文件puts ARGV
,和我有测试文件中tmp/aruba
当我运行bundle exec gem_name tmp/aruba/*.*
我带有外壳扩展的文件名列表。现在
我的特点文件有:
Given files to work on # I set up files in tmp/aruba in this step
When I run `gem_name *.*` # standard step
Then the output should contain "Wibble"
最后一步显然是要失败的,但它表明我之间有什么,它预计与实际输出一个差异。我看到的并不是shell扩展文件名列表,而是我所得到的全部是"*.*"
所以我留下了让应用程序按预期工作的位置,但我无法通过测试。我可以采用“,”并从那里生成文件列表,但是我正在编写额外的生产代码,以使应用程序在测试中工作 - 我认为这不是正确的方法它。所有这些都是因为壳牌扩张没有发生。
如果你看看我的个人资料,你会发现Ruby不是我的主包,可以随时指向我可能错过的任何资源,但是这只是我缺少一些东西或预期的东西有人知道如何解决的行为?
感谢挖:)把它放在引号作品不够好。我曾经想过直接传递文件,是的,我没有测试shell扩展,但我希望使用Aruba可以让我以更接近用户输入命令的方式测试命令行。尽管如此,您的解决方法仍然可行。 – Abizern