From bc5008c248adcb22695e3e43269254d6cbcb83e7 Mon Sep 17 00:00:00 2001 From: RDW Date: Tue, 28 Feb 2023 10:47:48 +0100 Subject: [PATCH 1/2] Docs: Create a first draft of the unit testing guide --- .../bdd-report-basic-failing.png | Bin 0 -> 29655 bytes .../bdd-report-basic-passing.png | Bin 0 -> 7343 bytes .../bdd-report-detailed-failing.png | Bin 0 -> 61855 bytes .../bdd-report-detailed-passing.png | Bin 0 -> 21604 bytes .../bdd-report-minimal-failing.png | Bin 0 -> 14417 bytes .../bdd-report-minimal-passing.png | Bin 0 -> 287 bytes docs/how-to-guides/unit-testing.md | 258 +++++++++++++++++- 7 files changed, 250 insertions(+), 8 deletions(-) create mode 100644 docs/how-to-guides/bdd-report-basic-failing.png create mode 100644 docs/how-to-guides/bdd-report-basic-passing.png create mode 100644 docs/how-to-guides/bdd-report-detailed-failing.png create mode 100644 docs/how-to-guides/bdd-report-detailed-passing.png create mode 100644 docs/how-to-guides/bdd-report-minimal-failing.png create mode 100644 docs/how-to-guides/bdd-report-minimal-passing.png diff --git a/docs/how-to-guides/bdd-report-basic-failing.png b/docs/how-to-guides/bdd-report-basic-failing.png new file mode 100644 index 0000000000000000000000000000000000000000..042249ec33313b216acb1a3f52ccc6ff6b69fce4 GIT binary patch literal 29655 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

M_(9u1{DMvkKq*PAUv=XidLbOedjq-NotBk4|q& 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 literal 0 HcmV?d00001 diff --git a/docs/how-to-guides/bdd-report-detailed-failing.png b/docs/how-to-guides/bdd-report-detailed-failing.png new file mode 100644 index 0000000000000000000000000000000000000000..d3647219649f6dc040cbae078f7cde49d0b231c7 GIT binary patch literal 61855 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 GfAuc|cf_{< literal 0 HcmV?d00001 diff --git a/docs/how-to-guides/bdd-report-detailed-passing.png b/docs/how-to-guides/bdd-report-detailed-passing.png new file mode 100644 index 0000000000000000000000000000000000000000..886cfc5ab590a4726b034898857a21e319137b0b GIT binary patch literal 21604 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

STF`WDfh;u4{r?ole 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 +If you don't care about the particulars and just want to run some tests quickly, you can just use the same format as the runtime itself: + +```lua title=runtime-test-shorthands.lua +local specFiles = { + "Tests/some-test-file.spec.lua", + "Tests/another-test-file.spec.lua", +} + +local numFailedSections = C_Runtime.RunDetailedTests(specFiles) + +-- Exit with a non-zero status to make CI runners fail +os.exit(numFailedSections) +``` + +This will give you a workable "standard" solution, with the exact configuration that [evo's test suite](https://github.com/evo-lua/evo-runtime/tree/main/Tests) uses. The rest of this document describes more fine-grained options if you wish to build a custom solution, at the cost of having to do a bit more work yourself. + +If all you want to do is change the report format, take a look at the other testing shorthands provided by the high-level [Runtime API](/docs/references/api/namespaces/runtime). + +## Starting a Test Runner + +To manually start a new test runner, you can write a Lua program that passes the list of test files to the `bdd` library: + +```lua title=run-some-tests.lua +local bdd = require("bdd") + +-- All paths are relative to the current working directory, with POSIX-style path separators +local specFiles = { + "specs/MyApp.spec.lua", + "specs/SomethingElse.spec.lua", +} + +-- Tell the test runner to execute all of the passed tests (spec = executable specifications) +local numFailedTests = bdd.startTestRunner(specFiles) + +-- For CI pipelines: Ensure the return code indicates EXIT_FAILURE if any tests have failed +os.exit(numFailedTests) +``` + +You can then execute it like any other Lua script: + +`evo run-some-tests.lua` + +This will give you the most basic of test runners that sets the status code appropriately, with no real error reporting beyond that. + +## Writing Unit Tests + +Inside the files passed to the `startTestRunner` method, you can implement your test code as a regular Lua program. The test runner will simply execute it and make sure all tests pass, reporting failures (depending on the [reporting mode](#reporting-test-results) set) as soon as they pop up. + +### Passing and Failing Tests + +The definition for what constitutes a passing or a failing test is quite simple: + +- A test (script) _passes_ if it runs to completion when interpreted and executed as a Lua chunk, regardless of its output +- Any script that deliberately throws an error (e.g., by explicitly calling the [error](https://www.lua.org/manual/5.1/manual.html#pdf-error) or perhaps [assert](https://www.lua.org/manual/5.1/manual.html#pdf-assert) function) _fails_ the test +- Needless to say, scripts that accidentally cause the interpreter to raise an error will also fail the test (invalid syntax, ...) + +The basic idea is that a test exercises your code and uses [assertions](/docs/references/api/assertions) to raise Lua errors if any assumptions it makes are wrong. + +### Examples + +Here's some examples for failing tests: + +```lua title=failure-due-to-syntax-error.lua +-- Fails with Lua error: '' expected near 'local' +local local = "this is invalid syntax" -- ... because 'local' is a reserved keyword +``` + +```lua title=failure-due-to-lua-error.lua +local function sayHelloTo(name) + print("Hello, " .. name .. "!") +end + +-- Fails, because Lua raises an error: "attempt to concatenate local 'name' (a nil value)" +sayHelloTo(nil) +``` + +```lua title=failure-due-to-error-call.lua +local function sayHelloTo(name) + if not name then + error("Usage: sayHelloTo(name)") + end + print("Hello, " .. name .. "!") +end + +-- Fails, because Lua raises an error: "Usage: sayHelloTo(name)" +sayHelloTo(nil) +``` + +And here, various examples for tests that pass (even if they're not necessarily very useful): + +```lua title=success-because-of-noop.lua +-- This program doesn't have any code, but it also doesn't raise any errors... +``` + +```lua title=success-without-assertions.lua +-- This program doesn't raise any errors, but it's still not very useful as a test +local function sayHelloTo(name) + print("Hello, " .. name .. "!") +end + +-- Passes, because the function prints the text and exits cleanly +sayHelloTo("my little friend") +``` + +```lua title=success-with-assertions.lua +-- In order to make sure the code behaves as expected, some assertions should be used +local assertions = require("assertions") + +local function sayHelloTo(name) + print("Hello, " .. name .. "!") +end + +-- Passes, because the the assertion doesn't raise an error if the function exits cleanly +assertions.assertDoesNotThrow(function() + sayHelloTo("my little friend") +end) +``` + +Lastly, this example would be more useful as a "real" test, even if it's still somewhat incomplete: + +```lua title=test-with-assertions.lua +local assertions = require("assertions") +local validation = require("validation") + +local assertDoesNotThrow = assertions.assertDoesNotThrow +local assertThrows = assertions.assertThrows + +local validateString = validation.validateString + +local function sayHelloTo(name) + -- Validation functions will throw an error if the parameter isn't of the expected type + validateString(name, "name") + + print("Hello, " .. name .. "!") +end + +assertDoesNotThrow(function() + sayHelloTo("my little friend") +end) + +assertThrows(function() + sayHelloTo(nil) +end, "Expected argument name to be a string value, but received a nil value instead") +``` + +In summary: These examples show that the test runner determines whether a given test failed or passed by checking for errors. + +## Organizing Tests + +As your test suite grows, it might become difficult to keep things well-organized. Generally speaking, the test runner is unopinionated: + +Each file passed to the `startTestRunner` method is considered a separate test. You can load other files to separate a larger test suite into smaller reusable components, and structure your test program any way you prefer. Conceptually, tests are part of a project's architecture, so the `bdd` library doesn't impose artificial constraints on them. This isn't always the most helpful approach, though. + +For that reason, `bdd` (which stands for [behavior-driven development](https://en.wikipedia.org/wiki/Behavior-driven_development)) supports executable specifications divided by logical sections. + +### Sections and Subsections + +Inside any given test file, you can use the following functions to create logically separate blocks: + +- [bdd.describe](/docs/references/api/bdd#describe): Shorthand for `bdd.createSection(label, testFunction)` +- [bdd.it](/docs/references/api/bdd#it): Shorthand for `bdd.createSubsection(label, testFunction)` +- Both functions are also available as global aliases, called [describe](/docs/references/api/globals#describe) and [it](/docs/references/api/globals#it) + +Using logical partitioning can help you generate more useful reports, but there's no change to how tests are run. + +## Reporting Test Results + +Test reports can be generated in one of several formats: + +- Detailed: Displays a full status report containing all relevant information (this is the default) +- Basic: Displays the number of test files, a simple pass/fail status for each file, and the time taken +- Minimal: Displays nothing, unless there are errors or test failures (Unix style) + +You can select the reporting mode before calling [bdd.startTestRunner](/docs/references/api/bdd#starttestrunner) with the following APIs: + +- [bdd.setDetailedReportMode](/docs/references/api/bdd#setdetailedreportmode) enables detailed reports (and disables all other report modes) +- [bdd.setBasicReportMode](/docs/references/api/bdd#setbasicreportmode) enables basic reports (and disables all other report modes) +- [bdd.setMinimalReportMode](/docs/references/api/bdd#setminimalreportmode) enables minimal reports (and disables all other report modes) + +Let's take a look at some examples next; it will become evident quickly what each mode means in practice. + +:::info + +Please note that sections and subsections that were created with `describe` and `it` _only_ appear in detailed reports. + +::: ### Minimal Reports - +This reporting mode is most suitable if you need to reduce the amount of console output displayed (which takes time and adds noise). + +#### Minimal report (no failures) + +![Minimal report for a test run without failures](bdd-report-minimal-passing.png) + +I mean... what did you expect? "Avoid unnecessary output" is the mantra here, and avoid it we shall. + +#### Minimal report (with failures) + +![Minimal report for a test run with failures](bdd-report-minimal-failing.png) + +As you can see, errors are propagated directly. Tests also fail-fast, so that the run ends immediately instead of wasting more CPU cycles. ### Basic Reports - +This format is slightly more colorful, and intended to give visual feedback useful to humans without requiring the use of BDD [sections](#sections-and-subsections). + +#### Basic (no failures) + +![Basic report for a test run without failures](bdd-report-basic-passing.png) + +#### Basic (with failures) + +![Basic report for a test run with failures](bdd-report-basic-failing.png) ### Detailed Reports - +This is the "fully-featured" and default mode, allowing detailed reports about the individual [sections](#sections-and-subsections) that make up a test suite. + +#### Detailed (no failures) + +![Detailed report for a test run without failures](bdd-report-detailed-passing.png) + +#### Detailed (with failures) + +![Detailed report for a test run with failures](bdd-report-detailed-failing.png) + +The remaining errors are here omitted for brevity, but all of them will be reported in order. + +## Error Propagation + +The test runner accumulates error messages and stack traces for each failing test (and section/subsection). + +You can fetch them by calling [bdd.getErrorDetails](/docs/references/api/bdd#geterrordetails) after the test run has finished: + +```lua title=print-error-details.lua +local bdd = require("bdd") + +local specFiles = { + "some-test.spec.lua", + "another-test.spec.lua", +} + +bdd.startTestRunner(specFiles) + +local errorDetails = bdd.getErrorDetails() +for index, errorInfo in ipairs(errorDetails) do + print(index, errorInfo.specFile, errorInfo.message, errorInfo.stackTrace) +end + +-- Alternatively, dump everything if you want more details (e.g., to log to a file) +dump(errorDetails) +``` + +Error details are collected regardless of reporting mode, but they aren't displayed automatically to reduce visual clutter. -#### Sections and Subsections +## Alternatives - +If you need more advanced features not offered by the builtin test runner, consider using libraries like [busted](https://github.com/Olivine-Labs/busted) or [luaunit](https://github.com/bluebird75/luaunit). From 8289dd6328575381966ffc1c30f8b8929b32deaf Mon Sep 17 00:00:00 2001 From: RDW Date: Tue, 28 Feb 2023 10:48:09 +0100 Subject: [PATCH 2/2] Docs: Fix a broken link in the bdd API reference --- docs/references/api/bdd.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/references/api/bdd.md b/docs/references/api/bdd.md index 69a68172..f1c046fc 100644 --- a/docs/references/api/bdd.md +++ b/docs/references/api/bdd.md @@ -147,7 +147,7 @@ Enables the [minimal reporting mode](/docs/how-to-guides/unit-testing#minimal-re Starts a new test runner for the given list of test files. It will merely execute the tests, without reporting results or error details[^1]. After a test run has completed, any errors that occured during it can be queried via [getErrorDetails](#geterrordetails), and reports via [getReport](#getreport). -[^1] _The exact behavior depends on the [reporting mode](/docs/how-to-guides/unit-testing#reporting-modes) used. In some modes, the runner will fail loudly when encountering an error._ +[^1] _The exact behavior depends on the [reporting mode](/docs/how-to-guides/unit-testing#reporting-test-results) used. In some modes, the runner will fail loudly when encountering an error._ :::caution