The most significant change for users is that the search index is downloaded on demand. For us as a project, it’s good to see the server used by `mdbook serve` change from `warp` to `asum`: the former hadn’t been updated in a while, leading us to have old dependencies in our `Cargo.lock`. I also ran `cargo update` to further unify the versions of our dependencies. This shrunk `cargo tree --duplicates` a little more. --------- Co-authored-by: Michael Kerscher <kerscher@google.com>
Testing Comprehensive Rust
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 and the webdriverIO Expect API in combination with Mocha. 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 is
used mainly in the CI 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.
Tip: Use
cargo xtask web-tests
to run the tests in this directory from anywhere in the repository.
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