Skip to content

Commit 5ab0587

Browse files
Merge pull request #587 from kateinoigakukun/yt/update-getting-started-wasm
Add instructions for running tests for WebAssembly
2 parents 67ec125 + 478ef99 commit 5ab0587

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

Sources/Testing/Testing.docc/TemporaryGettingStarted.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,35 @@ using Xcode 16 Beta.
144144
See the [Test Explorer](https://www.swift.org/documentation/articles/getting-started-with-vscode-swift.html#test-explorer)
145145
section of
146146
[Getting Started with Swift in VS Code](https://www.swift.org/documentation/articles/getting-started-with-vscode-swift.html).
147+
148+
#### Running tests for WebAssembly
149+
150+
To run tests for WebAssembly, install a Swift SDK for WebAssembly by following
151+
[these instructions](https://book.swiftwasm.org/getting-started/setup-snapshot.html).
152+
153+
Because `swift test` doesn't know what WebAssembly environment you'd like to use
154+
to run your tests, building tests and running them are two separate steps. To
155+
build tests for WebAssembly, use the following command:
156+
157+
```sh
158+
swift build --swift-sdk wasm32-unknown-wasi --build-tests
159+
```
160+
161+
After building tests, you can run them using a [WASI](https://wasi.dev/)-compliant
162+
WebAssembly runtime such as [Wasmtime](https://wasmtime.dev/) or
163+
[WasmKit](https://github.com/swiftwasm/WasmKit). For example, to run tests using
164+
Wasmtime, use the following command (replace `{YOURPACKAGE}` with your package's
165+
name):
166+
167+
```sh
168+
wasmtime .build/debug/{YOURPACKAGE}PackageTests.wasm --testing-library swift-testing
169+
```
170+
171+
Most WebAssembly runtimes forward trailing arguments to the WebAssembly program,
172+
so you can pass command-line options of the testing library. For example, to list
173+
all tests and filter them by name, use the following commands:
174+
175+
```sh
176+
wasmtime .build/debug/{YOURPACKAGE}PackageTests.wasm list --testing-library swift-testing
177+
wasmtime .build/debug/{YOURPACKAGE}PackageTests.wasm --testing-library swift-testing --filter "FoodTruckTests.foodTruckExists"
178+
```

0 commit comments

Comments
 (0)