mirror of
https://github.com/denoland/deno.git
synced 2024-10-31 09:14:20 -04:00
43 lines
1.1 KiB
Markdown
43 lines
1.1 KiB
Markdown
# Deno runtime tests
|
|
|
|
Files in this directory are unit tests for Deno runtime.
|
|
|
|
Testing Deno runtime code requires checking API under different runtime
|
|
permissions. To accomplish this all tests exercised are created using
|
|
`unitTest()` function.
|
|
|
|
```ts
|
|
import { unitTest } from "./test_util.ts";
|
|
|
|
unitTest(function simpleTestFn(): void {
|
|
// test code here
|
|
});
|
|
|
|
unitTest(
|
|
{
|
|
ignore: Deno.build.os === "windows",
|
|
perms: { read: true, write: true },
|
|
},
|
|
function complexTestFn(): void {
|
|
// test code here
|
|
},
|
|
);
|
|
```
|
|
|
|
## Running tests
|
|
|
|
There are two ways to run `unit_test_runner.ts`:
|
|
|
|
```sh
|
|
# Run all tests.
|
|
target/debug/deno test --allow-all --unstable --location=http://js-unit-tests/foo/bar cli/tests/unit/
|
|
|
|
# Run a specific test module
|
|
target/debug/deno test --allow-all --unstable --location=http://js-unit-tests/foo/bar cli/tests/unit/files_test.ts
|
|
```
|
|
|
|
### Http server
|
|
|
|
`target/debug/test_server` is required to run when one's running unit tests.
|
|
During CI it's spawned automatically, but if you want to run tests manually make
|
|
sure that server is spawned otherwise there'll be cascade of test failures.
|