我有一个简单的飞镖类,我正在尝试测试。
为了测试它,我需要打开一个 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 片段选项。 选择此选项可在新编辑器中打开片段,并且在那里所做的任何更改(例如格式设置)都将在片段中更新。
不完美,但它解决了我的问题。