两种不同的setUp方法用于相同的测试

时间:2017-07-30 05:51:19

标签: dart flutter dart-unittest

我目前有两组测试,除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 */
}

如何整合此代码?

1 个答案:

答案 0 :(得分: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 */
  });
}