| // Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| @TestOn('vm') |
| |
| import 'package:test/test.dart'; |
| import 'package:test_descriptor/test_descriptor.dart' as d; |
| |
| import '../io.dart'; |
| |
| void main() { |
| test('only runs the tests marked as solo', () async { |
| await d.file('test.dart', ''' |
| import 'dart:async'; |
| |
| import 'package:test/test.dart'; |
| |
| void main() { |
| test("passes", () { |
| expect(true, isTrue); |
| }, solo: true); |
| test("failed", () { |
| throw 'some error'; |
| }); |
| } |
| ''').create(); |
| |
| var test = await runTest(['test.dart']); |
| expect(test.stdout, emitsThrough(contains('+1 ~1: All tests passed!'))); |
| await test.shouldExit(0); |
| }); |
| |
| test('only runs groups marked as solo', () async { |
| await d.file('test.dart', ''' |
| import 'dart:async'; |
| |
| import 'package:test/test.dart'; |
| |
| void main() { |
| group('solo', () { |
| test("first pass", () { |
| expect(true, isTrue); |
| }); |
| test("second pass", () { |
| expect(true, isTrue); |
| }); |
| }, solo: true); |
| group('no solo', () { |
| test("failure", () { |
| throw 'some error'; |
| }); |
| test("another failure", () { |
| throw 'some error'; |
| }); |
| }); |
| } |
| ''').create(); |
| |
| var test = await runTest(['test.dart']); |
| expect(test.stdout, emitsThrough(contains('+2 ~1: All tests passed!'))); |
| await test.shouldExit(0); |
| }); |
| } |