gpt4 book ai didi

firebase - Jest Test - 当前环境不支持指定的持久化类型

转载 作者:行者123 更新时间:2023-12-03 14:25:21 25 4
gpt4 key购买 nike

我使用 jest 在我的 Create React App 上使用 Firebase Web SDK 和 FirebaseUI 运行一些测试

每当我尝试使用 --env=jsdom 运行一些测试时 - 我都会遇到:The current environment does not support the specified persistence type.似乎与 Auth 有关

是否有任何已知的相关问题/解决方法?除了测试之外,代码似乎可以正常工作/编译。

谷歌没有多大帮助

这是测试,非常基本。
必须添加 import "firebase/storage";因此:firebase.storage() is not a function in jest test cases

提前致谢

import React from "react";

import Enzyme from "enzyme";
import Adapter from "enzyme-adapter-react-16";
import "firebase/storage";
import {filterIngredientsToRemove} from "./shoppingList-reducer";

Enzyme.configure({adapter: new Adapter()});

describe("", () => {
let shoppingList;
let recipeId;

beforeEach(() => {
shoppingList = {
shoppingListItems: {
"1234": {ingredientId: 987, name: "patate", recipeId: 1234},
"2345": {ingredientId: 987, name: "patate", recipeId: 5432}
},
shoppingListRecipes: {
"1234": {portion: 3}
}
};

recipeId = 1234;
});

it("should filter out the shoppinglistItems with the provided recipeId", () => {
const result = filterIngredientsToRemove(recipeId, shoppingList.shoppingListItems);
expect(result).toEqual([{ingredientId: 987, name: "patate", recipeId: 1234}]);
});
});

最佳答案

您是否在 Firebase 配置中设置了持久性?测试环境不支持持久化,所以你可以做这样的事情来规避它:

firebase.auth().setPersistence(process.env.NODE_ENV === 'test' 
? firebase.auth.Auth.Persistence.NONE
: firebase.auth.Auth.Persistence.LOCAL);

关于firebase - Jest Test - 当前环境不支持指定的持久化类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53678410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com