使用新的测试运行器获取当前脚本路径或当前项目路径

时间:2015-05-13 12:19:08

标签: dart

我正在使用新的测试包移植旧的vm unittest文件。有些依赖于我的测试文件夹的子目录中的输入文件。在我使用Platform.script查找此类文件的位置之前。这在使用

时工作正常
$ dart test/my_test.dart

但是使用

$ pub run test

现在指向临时文件夹(tmp / dart_test_xxxx / runInIsolate.dart)。我无法再找到我的测试输入文件了。我不能依赖当前路径,因为我可能从不同的工作目录运行测试。

有没有办法找到my_test.dart的位置(或项目根路径的事件),我可以从中获取文件的位置?

2 个答案:

答案 0 :(得分:1)

这是EXPECT_*的当前限制。

当我遇到这样的要求时,我目前所做的是设置一个环境变量并在测试中读取它们。

我将它们设置在我的操作系统中,然后在启动测试之前将它们从其他系统上的grinder中设置。 这也适用于WebStorm,其中启动配置允许指定环境变量。

这可能与http://dartbug.com/21020

有关

答案 1 :(得分:0)

在此期间,我有以下解决方法。这是一个丑陋的解决方法,如果我直接运行它或使用pub run test,它会获取当前测试脚本的目录名称。如果实施中的任何内容发生变化,它肯定会破裂,但我绝望地需要这个......

{ type T=Int; val init=1}