1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-02-05 10:44:17 +02:00
comprehensive-rust/tests/wdio.conf-mdbook.ts
michael-kerscher 48b2b5c312
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>
2024-12-04 09:06:58 +00:00

15 lines
372 B
TypeScript

import { deepmerge } from "deepmerge-ts";
import { config as default_config } from "./wdio.conf.js";
// have main config file as default but overwrite how the code is served
export const config = deepmerge(
default_config,
{
// use the mdbook served content
baseUrl: "http://localhost:3000",
// clean services
services: [],
},
{ clone: false }
);