1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-08-25 20:29:09 +02:00

Add a test framework to test the JS part of the course (#2471)

This is a first draft for a test framework for testing the JS part of
the book that is discussed in #2462

It 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.

Currently only a small test for the speaker-notes implementation demos
the functionality.

The [Static Server
Service](https://webdriver.io/docs/static-server-service/) is used to
serve the book in a way that the test runner can access it.

A CI integration can look like https://webdriver.io/docs/githubactions/
and is implemented with a headless setup. In CI it uses the language
variable to set environment variable that configures where the built
book should be mounted from

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
This commit is contained in:
michael-kerscher
2024-12-04 10:06:58 +01:00
committed by GitHub
parent d868584623
commit 48b2b5c312
10 changed files with 7206 additions and 0 deletions

1
.gitignore vendored
View File

@@ -19,6 +19,7 @@ count.dat
# Nodejs Files (dprint)
node_modules/
package.json
!tests/package.json
pnpm-lock.yaml
# Crowdin Config (Contains API Keys)