从Python调用Flutter,使用 --name参数
我在一个bash脚本中使用这个:
flutter test --coverage --branch-coverage ut --name tp001
当我执行脚本时,它会工作:do_ut tp001。它只会运行分组为“tp001”的测试。太好了,这正是我想要的。
但我想要在一个Python脚本中运行同样的命令:
cmd = ['flutter', 'test', '--coverage', '--branch-coverage', 'ut', '--name', 'tp001']
print('HERE0', cmd2)
result = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True)
结果得到的是所有测试用例,而不仅仅是tp001分组中的测试:
HERE0 ['flutter', 'test', '--coverage', '--branch-coverage', 'ut', '--name', 'tp001']
DBG result:
00:00 +0: loading languages/test_flutter/ut/tp010_model_test.dart
00:01 +0: loading languages/test_flutter/ut/tp010_model_test.dart
<snip>
这是为什么?我该如何修复?
解决方案
找到了。它在模式场景下可以正常工作。
但……在Python脚本场景下,它会打印出以下这些行:
00:00 +0: loading languages/test_flutter/ut/tp010_model_test.dart
etc.
但不会在该文件tp010_model_test.dart中调用任何单元测试。它只是加载了该文件,而没有调用任何东西。
但当它确实加载tp001文件时:
00:01 +0: loading /languages/test_flutter/ut/tp001_basic_test.dart
@@@@@ Group: tp001 app here1
该分组确实与名称匹配,单元测试实际上被调用。
怎么知道?我在该分组内的测试函数中添加了这一行:
print("@@@@@ Group: tp001 app here1");
当我使用“--name tp001”时,它的输出就会出现。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。