我的gem怎么知道它的存储库目录的路径?

时间:2009-12-11 16:52:31

标签: ruby rubygems testunit

我的宝石语义文件有一堆测试数据可供读取以进行回归测试。

这是项目:http://github.com/dafydd/semantictext

以下是我希望能够直接从gem运行的示例测试:http://github.com/dafydd/semantictext/blob/master/test/test_document.rb(查找文本“SANDBOX”)

我通常在名为“semantictext”的目录中开发它,并将环境变量SANDBOX设置为“semantictext”上方目录的路径 - 这样我就可以使用ENV ['SANDBOX']引用项目中的任何文件。

当gem作为包安装时,是否可以通过rake运行测试/单元测试:

1)知道它是从宝石上运行的吗?和

2)知道本地rubygems存储库中它的semantictext目录的路径吗?

我希望能够毫不费力地从任何gem安装中运行所有测试。这将使我的持续集成更容易,并允许我写出更好的宝石。

谢谢, 达菲德

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法找到当前文件的目录:

File.dirname(__FILE__)

这将允许您建立您需要访问的任何文件的相对路径。