From 01fa3dd3705b164f5e42429687e63edda4e0c823 Mon Sep 17 00:00:00 2001 From: Michael Kerscher Date: Mon, 2 Dec 2024 10:29:03 +0100 Subject: [PATCH] tests: add a README.md for the test framework --- tests/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tests/README.md diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 00000000000..db418769596 --- /dev/null +++ b/tests/README.md @@ -0,0 +1,20 @@ +# Testing the comprehensive rust course book + +The course material contains JS code that can break and needs to be checked for +functionality. Examples are `theme/speaker-notes.js` or `theme/book.js`. + +Comprehensive Rust is using [webdriverIO](https://webdriver.io/) and the +[webdriverIO Expect API](https://webdriver.io/docs/api/expect-webdriverio/) in +combination with [Mocha] (https://mochajs.org/). WebdriverIO is taking care of +accessing the webpage with a real browser and can access the state of the page +so behavior can be asserted. + +The [Static Server Service](https://webdriver.io/docs/static-server-service/) is +used mainly in the [CI](../github/workflows/build.yml) to serve the book on port +localhost:8080 such that the test runner can access it. This mode is used when +`npm start` or `npm test` is executed. + +For local testing and quick iterations it is possible to use `mdbook serve` +which creates a small HTTP server on port 3000 by default. There is a special +config that is invoked with `npm run test-mdbook` that uses +`http://localhost:3000`