在实时模式下重新运行 TestCafe 测试时重新初始化全局配置
re-initialize global configuration when rerunning TestCafe test in live mode
在实时模式下使用 TestCafe 时(不使用实时 运行ner),当它 运行 检测到代码更改时,它不会重新加载我的全局变量。
在我的测试代码中,我有一个配置页面,我用它来设置测试的初始状态,在测试期间我修改了这个配置,以便我可以跟踪和检查预期的更改。
例如,我有以下内容:
ConfigPage = {
description: 'some description'
}
在我的测试代码中,一路上我想做一些类似
的事情
ConfigPage.description = ConfigPage.description+' add to description'
这话,不过直播不重运行。如果实时重新 运行 被触发,在测试开始时 ConfigPage.description 现在有 'some description add to description' 而不是 'some description'
我的 ConfigPage 文件是 TypeScript class:
class ConfigurationPage {
description: string
constructor () {
this.description = 'some description'
}
}
export ConfigPage = new ConfigurationPage()
如果未修改,您的 ConfigPage 文件是在测试重新运行 时从缓存中导入的。因此 ConfigurationPage 对象只被实例化一次并作为常量导出。如果您更改此文件,测试将重新运行 得到您期望的结果。
在实时模式下使用 TestCafe 时(不使用实时 运行ner),当它 运行 检测到代码更改时,它不会重新加载我的全局变量。
在我的测试代码中,我有一个配置页面,我用它来设置测试的初始状态,在测试期间我修改了这个配置,以便我可以跟踪和检查预期的更改。
例如,我有以下内容:
ConfigPage = {
description: 'some description'
}
在我的测试代码中,一路上我想做一些类似
的事情ConfigPage.description = ConfigPage.description+' add to description'
这话,不过直播不重运行。如果实时重新 运行 被触发,在测试开始时 ConfigPage.description 现在有 'some description add to description' 而不是 'some description'
我的 ConfigPage 文件是 TypeScript class:
class ConfigurationPage {
description: string
constructor () {
this.description = 'some description'
}
}
export ConfigPage = new ConfigurationPage()
如果未修改,您的 ConfigPage 文件是在测试重新运行 时从缓存中导入的。因此 ConfigurationPage 对象只被实例化一次并作为常量导出。如果您更改此文件,测试将重新运行 得到您期望的结果。