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

Alextk

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

$ dart test/my_test.dart

但是使用

$ pub run test

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

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

Alextk

同时,我有以下解决方法。如果我直接运行它或使用pub run test运行它,这是一个丑陋的解决方法,它会为我获取当前测试脚本的目录名称。如果实现中发生任何更改,肯定会中断,但是我迫切需要此...

library test_utils.test_script_dir;

import 'dart:io';
import 'package:path/path.dart';

// temp workaround using test package
String get testScriptDir {
  String scriptFilePath = Platform.script.toFilePath();
  print(scriptFilePath);
  if (scriptFilePath.endsWith("runInIsolate.dart")) {

    // Let's look for this line:
    // import "file:///path_to_my_test/test_test.dart" as test;

    String importLineBegin = 'import "file://';
    String importLineEnd = '" as test;';
    int importLineBeginLength = importLineBegin.length;

    String scriptContent = new File.fromUri(Platform.script).readAsStringSync();

    int beginIndex = scriptContent.indexOf(importLineBegin);
    if (beginIndex > -1) {
      int endIndex = scriptContent.indexOf(importLineEnd, beginIndex + importLineBeginLength);
      if (endIndex > -1) {
        scriptFilePath = scriptContent.substring(beginIndex + importLineBegin.length, endIndex);
      }
    }
  }
  return dirname(scriptFilePath);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取当前脚本的路径?

来自分类Dev

如何使用Java从Eclipse获取当前项目路径

来自分类Dev

设置当前脚本的库路径

来自分类Dev

如何在JavaScript for Automation中获取当前脚本文件夹的POSIX路径?

来自分类Dev

如何在Fish Shell中检索当前脚本的路径

来自分类Dev

AWS-在AWS Lambda上执行代码时获取当前项目路径

来自分类Dev

Yii2 如何将当前 Url 路由到当前项目根路径之外的控制器?

来自分类Dev

HtmlBeginCollectionItem获取当前项目

来自分类Dev

MAVEN:使用Maven测试运行多个Maven项目

来自分类Dev

当我取消单元测试运行时,当前运行的测试是否完成?

来自分类Dev

如何获取当前脚本的名称?

来自分类Dev

使用“ -noprofile”参数提升当前脚本

来自分类Dev

使用JUNIT测试运行AsyncHttpClient

来自分类Dev

在ItemSelectedChanged()上获取当前项目QListWidget

来自分类Dev

从Python列表中获取当前项目

来自分类Dev

获取当前项目在视图挂钩?

来自分类Dev

在与当前脚本相同的目录中运行脚本

来自分类Dev

在继续当前脚本的同时异步运行单独的 PowerShell 脚本

来自分类Dev

使用R#测试运行器运行ReSharper插件测试

来自分类Dev

Eclipse键盘快捷键可打开当前项目的构建路径?

来自分类Dev

BindingExpression路径错误:“在集合的当前项目”上找不到属性... BindingExpression:Path = /;

来自分类Dev

通过 Maven 测试运行 TestNG 项目时获取“SurefireExecutionException”

来自分类Dev

获取需要当前脚本的脚本位置

来自分类Dev

获取脚本当前正在[Python]中运行的完整路径

来自分类Dev

使用业力测试运行器进行多种聚合物元素测试

来自分类Dev

使用业力测试运行器进行多种聚合物元素测试

来自分类Dev

使用Python中的绿色测试运行器跳过测试

来自分类Dev

使用测试运行器来测试操作 DOM 的函数

来自分类Dev

在vim中,我可以结合使用“:w”和运行当前脚本吗?

Related 相关文章

  1. 1

    如何获取当前脚本的路径?

  2. 2

    如何使用Java从Eclipse获取当前项目路径

  3. 3

    设置当前脚本的库路径

  4. 4

    如何在JavaScript for Automation中获取当前脚本文件夹的POSIX路径?

  5. 5

    如何在Fish Shell中检索当前脚本的路径

  6. 6

    AWS-在AWS Lambda上执行代码时获取当前项目路径

  7. 7

    Yii2 如何将当前 Url 路由到当前项目根路径之外的控制器?

  8. 8

    HtmlBeginCollectionItem获取当前项目

  9. 9

    MAVEN:使用Maven测试运行多个Maven项目

  10. 10

    当我取消单元测试运行时,当前运行的测试是否完成?

  11. 11

    如何获取当前脚本的名称?

  12. 12

    使用“ -noprofile”参数提升当前脚本

  13. 13

    使用JUNIT测试运行AsyncHttpClient

  14. 14

    在ItemSelectedChanged()上获取当前项目QListWidget

  15. 15

    从Python列表中获取当前项目

  16. 16

    获取当前项目在视图挂钩?

  17. 17

    在与当前脚本相同的目录中运行脚本

  18. 18

    在继续当前脚本的同时异步运行单独的 PowerShell 脚本

  19. 19

    使用R#测试运行器运行ReSharper插件测试

  20. 20

    Eclipse键盘快捷键可打开当前项目的构建路径?

  21. 21

    BindingExpression路径错误:“在集合的当前项目”上找不到属性... BindingExpression:Path = /;

  22. 22

    通过 Maven 测试运行 TestNG 项目时获取“SurefireExecutionException”

  23. 23

    获取需要当前脚本的脚本位置

  24. 24

    获取脚本当前正在[Python]中运行的完整路径

  25. 25

    使用业力测试运行器进行多种聚合物元素测试

  26. 26

    使用业力测试运行器进行多种聚合物元素测试

  27. 27

    使用Python中的绿色测试运行器跳过测试

  28. 28

    使用测试运行器来测试操作 DOM 的函数

  29. 29

    在vim中,我可以结合使用“:w”和运行当前脚本吗?

热门标签

归档