Utilities
一些实用的工具函数。
rs.stubEnv
-
别名:
rstest.stubEnv -
类型:
(name: string, value: string | undefined) => Rstest & Disposable
临时设置 process.env 和 import.meta.env 中的环境变量为指定值。适用于测试依赖环境变量的代码。
- 如果
value为undefined,该变量会从process.env和import.meta.env中移除。 - 可多次调用以模拟多个环境变量。
- 使用
rs.unstubAllEnvs()可恢复所有通过此方法更改的环境变量。
Disposable / using 语法
Rstest 支持使用 using 语法在代码块退出时自动恢复当前作用域内的 env stub。
示例:
rs.unstubAllEnvs
-
别名:
rstest.unstubAllEnvs -
类型:
() => Rstest
恢复所有通过 rs.stubEnv 更改的环境变量到原始值。
- 测试后调用此方法以清理环境变量。
- 如果配置项
unstubEnvs启用,则每个测试前会自动调用。
示例:
rs.stubGlobal
-
别名:
rstest.stubGlobal -
类型:
(name: string | number | symbol, value: unknown) => Rstest & Disposable
临时设置全局变量为指定值。适用于模拟全局对象或函数。
- 可多次调用以模拟多个全局变量。
- 使用
rs.unstubAllGlobals()可恢复所有通过此方法更改的全局变量。
Disposable / using 语法
Rstest 支持使用 using 语法在代码块退出时自动恢复当前作用域内的 global stub。
示例:
rs.unstubAllGlobals
-
别名:
rstest.unstubAllGlobals -
类型:
() => Rstest
恢复所有通过 rs.stubGlobal 更改的全局变量到原始值。
- 测试后调用此方法以清理全局变量。
- 如果配置项
unstubGlobals启用,则每个测试前会自动调用。
示例:
rs.setConfig
-
别名:
rstest.setConfig -
类型:
动态更新当前测试的运行时配置。适用于需要在单个测试文件中临时覆盖某些测试设置(如超时时间、并发数、mock 行为等)的场景。
示例:
rs.resetConfig
-
别名:
rstest.resetConfig -
类型:
() => void
将通过 rs.setConfig 修改的运行时配置重置为默认值。
rs.getConfig
-
别名:
rstest.getConfig -
类型:
() => RuntimeConfig
获取当前测试文件的运行时配置。
示例:
rs.waitFor
-
别名:
rstest.waitFor -
类型:
不断重试 callback,直到其执行成功(不抛错)或超时。
- 当
options为数字时,会被视为timeout。 - 超时时会抛出 callback 最后一次抛出的错误。
示例:
rs.waitUntil
-
别名:
rstest.waitUntil -
类型:
仅当 callback 没有返回值(undefined 或 null)或返回 falsy 值时才会继续重试;当其返回 truthy 值时会立刻 resolve。
- 当
options为数字时,会被视为timeout。 - 如果 callback 抛错,会立即中断并抛出该错误。
- 超时时会抛出超时错误。
示例: