forked from extern/nushell
b2d7427d2d
Move test runner to standard library. Originated from #8819 # After Submitting I'll update the documentation about testing: http://www.nushell.sh/book/testing.html --------- Co-authored-by: Mate Farkas <Mate.Farkas@oneidentity.com> |
||
---|---|---|
.. | ||
lib | ||
src | ||
tests | ||
Cargo.toml | ||
examples.nu | ||
LICENSE | ||
README.md |
Welcome to the standard library of `nushell`!
The standard library is a pure-nushell
collection of commands to allow anyone to build
complex applications using standardized tools gathered incrementally.
In this library, you might find rust
-like assert
commands to write tests, tools to
manipulate paths and strings, etc, etc, ...
🧰 use the standard library in the REPL or in scripts
in order to "import" the standard library to either the interactive [REPL][REPL] of
nushell
or inside some .nu
script, you might want to use the
use
command!
use std
✏️ contribute to the standard library
- all the commands of the standard_library are located in
std.nu
- the tests are located in files that have a name starting with "test_", e.g.
test_std.nu
- a test runner, at
tests.nu
, allows to run all the tests automatically
🔧 add new commands
- add new standard commands by appending to
std.nu
- add associated tests to
test_std.nu
or preferably totest_<submodule>.nu
.- define a new exported (!)
test_<feature>
command - import the
assert
functions you need at the top of the functions, e.g.use std.nu "assert eq"
- define a new exported (!)
🧪 run the tests
the following call should return no errors
NU_LOG_LEVEL=DEBUG cargo run -- -c "use std; std run-tests --path crates/nu-std"
Warning
thecargo run --
part of this command is important to ensure the version ofnushell
and the version of the library are the same.