代码之家  ›  专栏  ›  技术社区  ›  Dafydd Rees

我的gem如何知道其存储库目录的路径?

  •  0
  • Dafydd Rees  · 技术社区  · 15 年前

    我的gem semantictext有一系列的测试数据,用于回归测试。

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

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

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

    当gem作为一个包安装时,是否有一种方法可以从rake运行测试/单元测试:

    1)知道它是从宝石里跑出来的吗?和

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

    我希望能够轻松地运行来自任何gem安装的所有测试。这将使我的持续集成变得更容易,并允许我写更好的gems。

    谢谢, 戴维德

    1 回复  |  直到 15 年前
        1
  •  1
  •   Pelle    15 年前

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

    File.dirname(__FILE__)
    

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