File: Documentation.md

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (72 lines) | stat: -rw-r--r-- 1,992 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# ``Testing``

<!-- NOTE: The link above must match the module name, not the package name. -->

<!--
This source file is part of the Swift.org open source project

Copyright (c) 2023–2024 Apple Inc. and the Swift project authors
Licensed under Apache License v2.0 with Runtime Library Exception

See https://swift.org/LICENSE.txt for license information
See https://swift.org/CONTRIBUTORS.txt for Swift project authors
-->

Create and run tests for your Swift packages and Xcode projects.

## Overview

With Swift Testing you leverage powerful and expressive capabilities of
the Swift programming language to develop tests with more confidence and less
code. The library integrates seamlessly with Swift Package Manager testing
workflow, supports flexible test organization, customizable metadata, and
scalable test execution. 

- Define test functions almost anywhere with a single attribute.
- Group related tests into hierarchies using Swift's type system.
- Integrate seamlessly with Swift concurrency.
- Parameterize test functions across wide ranges of inputs.
- Enable tests dynamically depending
on runtime conditions. 
- Parallelize tests in-process.
- Categorize tests using tags.
- Associate bugs directly with the tests that verify their fixes or reproduce
their problems.

#### Related videos

@Links(visualStyle: compactGrid) {
  - <doc://com.apple.documentation/videos/play/wwdc2024/10179>
  - <doc://com.apple.documentation/videos/play/wwdc2024/10195>
}

## Topics

### Essentials

- <doc:TemporaryGettingStarted>
- <doc:DefiningTests>
- <doc:OrganizingTests>
- <doc:MigratingFromXCTest>
- ``Test(_:_:)``
- ``Test``
- ``Suite(_:_:)``

### Test parameterization

- <doc:ParameterizedTesting>
- ``Test(_:_:arguments:)-8kn7a``
- ``Test(_:_:arguments:_:)``
- ``Test(_:_:arguments:)-3rzok``
- ``CustomTestArgumentEncodable``
<!-- - ``Test/Parameter`` -->
- ``Test/Case``

### Behavior validation

- <doc:Expectations>
- <doc:known-issues>

### Test customization

- <doc:Traits>