是否有一个"correct"文件夹,用于在 dart 中放置测试资源?



我有一个简单的飞镖类,我正在尝试测试。
为了测试它,我需要打开一个 txt 文件,将内容提供给类的实例并检查输出是否正确。

我应该把这个 txt 文件放在哪里?txt 文件在测试之外毫无用处。

另外,相关,我如何一致地访问其目录?我尝试将其放在测试文件夹中,但问题是:

System.currentDirectory

如果我自己运行测试或一次调用所有其他测试飞镖文件的脚本,则返回不同的目录

我检查System.currentDirectory是否是包含pubspec.yaml文件的目录,如果不是,我将当前目录向上移动,直到找到包含pubpsec.yaml文件的目录,然后继续测试代码。

看起来包 https://pub.dev/packages/resource 现在也适合这个。

我还没有找到这个问题的明确答案。我一直在寻找类似于 Go 中的 testdata 目录和 Java 中的 src/test/resources 目录的东西。

我正在使用Android工作室,并决定在test目录的顶部使用test_data.dart文件。 在那里,我定义我的测试数据(主要是JSON),然后将其导入到我的各个测试中。 如果您需要处理二进制文件,这无济于事,但它对我的 JSON 数据很有用。我还将在 JSON 语言中注入 //language=json以便我可以在单独的窗口中打开片段进行格式化。

//language=json
const consolidatedWeatherJson = '''{
  "consolidated_weather": [
    {
      "id": 4907479830888448,
      "weather_state_name": "Showers",
      "weather_state_abbr": "s",
      "wind_direction_compass": "SW",
      "created": "2020-10-26T00:20:01.840132Z",
      "applicable_date": "2020-10-26",
      "min_temp": 7.9399999999999995,
      "max_temp": 13.239999999999998,
      "the_temp": 12.825,
      "wind_speed": 7.876886316914553,
      "wind_direction": 246.17046093256732,
      "air_pressure": 997.0,
      "humidity": 73,
      "visibility": 11.037727173307882,
      "predictability": 73
    }
  ]
}
''';

使用 Alt + Enter 组合键将显示编辑 JSON 片段选项。 选择此选项可在新编辑器中打开片段,并且在那里所做的任何更改(例如格式设置)都将在片段中更新。

不完美,但它解决了我的问题。

相关内容

最新更新