0

我目前有两组测试,除了setUp()方法调用之外,它们在各方面都是相同的。我想简化代码,以便只定义一次测试集,但每个组运行自己的setUp()方法,然后运行相同的测试集。

目前我的代码看起来像这样:

group('test things while a flag is turned off', () {
  setUp(() {
    global_flags.flag = false;
  }
  /* run lots of tests */
})

group('test things while a flag is turned on' () {
  setUp(() {
    global_flags.flag = true;
  }
  /* run the exact same tests */
}

如何合并此代码?

4

1 回答 1

1

您可以多次注册相同的测试并添加参数以自定义执行:

main() {
  myTests(true);
  myTests(false);
}

myTests(bool global_flags) {
  group('test things while a flag is turned ${global_flags ? 'on' : 'off'}' () {
    /* run the exact same tests */
  });
}
于 2017-07-31T08:30:21.383 回答