OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
| 5 import 'package:stack_trace/stack_trace.dart'; |
| 6 |
5 import 'group.dart'; | 7 import 'group.dart'; |
6 import 'group_entry.dart'; | 8 import 'group_entry.dart'; |
7 import 'live_test.dart'; | 9 import 'live_test.dart'; |
8 import 'metadata.dart'; | 10 import 'metadata.dart'; |
9 import 'operating_system.dart'; | 11 import 'operating_system.dart'; |
10 import 'suite.dart'; | 12 import 'suite.dart'; |
11 import 'test_platform.dart'; | 13 import 'test_platform.dart'; |
12 | 14 |
13 /// A single test. | 15 /// A single test. |
14 /// | 16 /// |
15 /// A test is immutable and stateless, which means that it can't be run | 17 /// A test is immutable and stateless, which means that it can't be run |
16 /// directly. To run one, load a live version using [Test.load] and run it using | 18 /// directly. To run one, load a live version using [Test.load] and run it using |
17 /// [LiveTest.run]. | 19 /// [LiveTest.run]. |
18 abstract class Test implements GroupEntry { | 20 abstract class Test implements GroupEntry { |
19 String get name; | 21 String get name; |
20 | 22 |
21 Metadata get metadata; | 23 Metadata get metadata; |
22 | 24 |
| 25 Trace get trace; |
| 26 |
23 /// Loads a live version of this test, which can be used to run it a single | 27 /// Loads a live version of this test, which can be used to run it a single |
24 /// time. | 28 /// time. |
25 /// | 29 /// |
26 /// [suite] is the suite within which this test is being run. If [groups] is | 30 /// [suite] is the suite within which this test is being run. If [groups] is |
27 /// passed, it's the list of groups containing this test; otherwise, it | 31 /// passed, it's the list of groups containing this test; otherwise, it |
28 /// defaults to just containing `suite.group`. | 32 /// defaults to just containing `suite.group`. |
29 LiveTest load(Suite suite, {Iterable<Group> groups}); | 33 LiveTest load(Suite suite, {Iterable<Group> groups}); |
30 | 34 |
31 Test forPlatform(TestPlatform platform, {OperatingSystem os}); | 35 Test forPlatform(TestPlatform platform, {OperatingSystem os}); |
32 | 36 |
33 Test filter(bool callback(Test test)) => callback(this) ? this : null; | 37 Test filter(bool callback(Test test)) => callback(this) ? this : null; |
34 } | 38 } |
OLD | NEW |