我有一个react 项目.这个项目有一个布尔值,来自一个useGate
钩子,来自Statsig
.该值可以是True,也可以是False.
如果为true
,则某些数据将被特定值替换.如果为false
,则数据与来自端点的数据完全匹配.
代码是这样的:
const showCustomData = !useGate("shipments_custom_toggle").value;
useEffect(() => {
dispatch(getTheShipments({ shouldShowCustomData: showCustomData }))
}, [])
问题是,在Cypress中,这个值始终为False,因为运行测试的用户不能被配置为将useGate设置为True.
我怎么能对Cypress 说:当你找到showCustomData
个数据时,把它替换成true
?
我曾try 以这种方式使用Cypress环境变量:
useEffect(() => {
dispatch(getTheShipments({ shouldShowCustomData: Cypress.env('GET_CUSTOM_DATA') || showCustomData }))
}, [])
但这些Cypress.env在Reaction文件中不可用,它只是特定于规范.
我也试过了:
useEffect(() => {
dispatch(getTheShipments({ shouldShowCustomData: window.Cypress ? true : showCustomData }))
}, [])
而这一次似乎奏效了.然而,不确定它是否安全和/或有更好的方法来实现它