Возможно, настройка в вашем проекте вообще не завершена, я выполнил краткое руководство для firebase functions, развернутые в моем проекте, а затем установили зависимости, используя:
npm установить jest @ типы / jest firebase-functions-test ts-jest -D
Добавил тестовый скрипт в мой package.json
"test": "jest --watchAll --verbose = false"
и, наконец, настроил jest (jest.config.js) в моем проекте (в моем каталоге функций)
// this config includes typescript specific settings
// and if you're not using typescript, you should remove `transform` property
module.exports = {
transform: {
'^.+\\.tsx?$': 'ts-jest',
},
testRegex: 'src(/testing/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$',
testPathIgnorePatterns: ['lib/', 'node_modules/'],
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
testEnvironment: 'node',
rootDir: 'src',
}
После всего этого я создал каталог тестирования внутри папки function / src и написал такой простой тест внутри тестирования
test("should pass", () => {
// test test lol
expect(1).toBe(1);
});
Наконец, вы можете взглянуть на мой файл package.json, если у вас есть какие-либо сомнения относительно используемых мной зависимостей.
{
"name": "functions",
"scripts": {
"lint": "tslint --project tsconfig.json",
"build": "tsc",
"serve": "npm run build && firebase serve --only functions",
"shell": "npm run build && firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log",
"test": "jest --watchAll --verbose=false"
},
"engines": {
"node": "8"
},
"main": "lib/index.js",
"dependencies": {
"firebase-admin": "^8.6.0",
"firebase-functions": "^3.3.0"
},
"devDependencies": {
"@types/jest": "^24.0.19",
"firebase-functions-test": "^0.1.6",
"jest": "^24.9.0",
"ts-jest": "^24.1.0",
"tslint": "^5.12.0",
"typescript": "^3.2.2"
},
"private": true
}
person
chinoche
schedule
25.10.2019