我正在使用新的测试包移植旧的vm unittest文件。有些依赖于我的测试文件夹的子目录中的输入文件。在我使用Platform.script查找此类文件的位置之前。这在使用
时工作正常$ dart test/my_test.dart
但是使用
$ pub run test
现在指向临时文件夹(tmp / dart_test_xxxx / runInIsolate.dart)。我无法再找到我的测试输入文件了。我不能依赖当前路径,因为我可能从不同的工作目录运行测试。
有没有办法找到my_test.dart的位置(或项目根路径的事件),我可以从中获取文件的位置?
答案 0 :(得分:1)
这是EXPECT_*
的当前限制。
当我遇到这样的要求时,我目前所做的是设置一个环境变量并在测试中读取它们。
我将它们设置在我的操作系统中,然后在启动测试之前将它们从其他系统上的grinder中设置。 这也适用于WebStorm,其中启动配置允许指定环境变量。
有关答案 1 :(得分:0)
在此期间,我有以下解决方法。这是一个丑陋的解决方法,如果我直接运行它或使用pub run test,它会获取当前测试脚本的目录名称。如果实施中的任何内容发生变化,它肯定会破裂,但我绝望地需要这个......
{ type T=Int; val init=1}