mirror of
https://github.com/nushell/nushell.git
synced 2024-12-25 08:29:07 +01:00
c3678764b4
# Description As in other testing frameworks, the `setup` runs before every test case, and the `teardown` after that. A context can be created in `setup`, which will be in the `$in` variable in the test cases, and in the `teardown`. The `teardown` is called regardless of the test is passed, skipped, or failed. For example: ```nushell use std.nu * export def setup [] { log debug "Setup is running" {msg: "This is the context"} } export def teardown [] { log debug $"Teardown is running. Context: ($in)" } export def test_assert_pass [] { log debug $"Assert is running. Context: ($in)" } export def test_assert_skip [] { log debug $"Assert is running. Context: ($in)" assert skip } export def test_assert_fail_skipped_by_default [] { log debug $"Assert is running. Context: ($in)" assert false } ``` ![image](https://user-images.githubusercontent.com/282320/230466359-9908cc72-edbd-4150-9aff-d15fe42c0cc7.png) # After Submitting I'll update the documentation. --------- Co-authored-by: Mate Farkas <Mate.Farkas@oneidentity.com>
33 lines
745 B
Plaintext
33 lines
745 B
Plaintext
use std "log debug"
|
|
use std "log error"
|
|
use std "assert"
|
|
use std "assert skip"
|
|
|
|
export def setup [] {
|
|
log debug "Setup is running"
|
|
{msg: "This is the context"}
|
|
}
|
|
|
|
export def teardown [] {
|
|
log debug $"Teardown is running. Context: ($in)"
|
|
}
|
|
|
|
export def test_assert_pass [] {
|
|
log debug $"Assert is running. Context: ($in)"
|
|
}
|
|
|
|
export def test_assert_skip [] {
|
|
log debug $"Assert is running. Context: ($in)"
|
|
assert skip
|
|
}
|
|
|
|
export def test_assert_fail_skipped_by_default [] {
|
|
assert skip # Comment this line if you want to see what happens if a test fails
|
|
log debug $"Assert is running. Context: ($in)"
|
|
assert false
|
|
}
|
|
|
|
export def unrelated [] {
|
|
log error "This should not run"
|
|
}
|