@@ -144,3 +144,35 @@ using Xcode 16 Beta.
144144See the [ Test Explorer] ( https://www.swift.org/documentation/articles/getting-started-with-vscode-swift.html#test-explorer )
145145section 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