自動テスト

共通部品(game-kit)は、?gftest=1 を付けて開くと、中の状態を読み取る口(snapshot)と、操作する口(drive)が開きます。テストはこの口だけを使って、窓を開閉する・タブを切り替える・所持品を使う・ミニゲームを解く、を人の代わりに行います。ここには最新の結果と、このブラウザの中で動かす検査があります。

ブラウザの中で実行 まだ実行していません

下の枠の中に、標準のUIシェル(窓・タブメニュー・一時停止メニュー・所持品・手帳・目標・地図・STEPガイド・ミニゲーム・更新情報)を作り、部品ごとの検査を順に動かします。窓が一瞬ずつ開閉します。

最新の結果 読み込み中…

node tools/selftest.mjs の結果です(ラボを更新したときの、kit の最新の実行)。単体テスト・ヘッドレスブラウザでの部品検査・標準の検査ツール(間取り、チャット台本、データ)をまとめています。

種類部品検査結果ms
部品の作り手へ:テストの口のつくりかた

部品は import { gfRegister } from "./gf-test.js" して、gfRegister("名前", () => ({ snapshot, drive, seed, reset })) を呼びます。snapshot() は状態を JSON で返し、drive(動作, 引数) は { ok: true } か { ok: false, error } を返します(例外は投げない)。?gftest=1 が無いと何も起きず、費用はかかりません。時計は __gf.clock.advance(ms)、乱数は __gf.rng.seed(n)、記録は __gf.events。くわしくは game-kit の docs/testing.md。

コマンド:node tools/selftest.mjs(kit 全体)、npm run selftest(1つの作品)、node tools/selftest-all.mjs(全作品。結果は docs/selftest-dashboard.md)。