【问题标题】:Mocking fire functions config - not picking up stripe key模拟开火功能配置 - 不拿起条纹键
【发布时间】:2021-02-18 13:23:24
【问题描述】:

我正在使用火力功能。它适用于部署,但现在我已经编写了单元测试。 它说:

functions.config().stripe.secret;// ( Cannot read property 'secret' of undefined)

我了解,对于测试,您需要设置一个 mockConfig。

我使用 config.ts 来配置我的功能(这是发生错误的地方)

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();

//init cloud firestore db
export const db = admin.firestore();
const settings = { timestampsInSnapshots: true };
db.settings(settings)

console.log(functions.config().stripe);
export const stripeSecret = functions.config().stripe.secret;


import Stripe from 'stripe';
export const stripe = new Stripe(stripeSecret, {
    apiVersion: '2020-08-27',
  });

为了测试,我有一个 test-config.ts,我在单元测试中引用它,如下所示:

import { fun } from './test-config';
fun.cleanup;

在我的 test-config.ts 我有这个(敏感信息已编辑)

import TestFunctions from 'firebase-functions-test';
const firebaseConfig = {
    apiKey: "...lala...",
    authDomain: "...lala...",
    databaseURL: "...lala...",
    projectId: "...lala...",
    storageBucket: "...lala...",
    messagingSenderId: "...lala...",
    appId: "...lala...",
    measurementId: "...lala..."}

const envConfig = { stripe : { secret : 'sk_test...lalala...' }};

const fun = TestFunctions(firebaseConfig, 'service-account.json');
fun.mockConfig(envConfig);


export { fun }

关于我在测试中的配置没有被选中的任何想法。 我在开玩笑。

【问题讨论】:

    标签: angular function testing jestjs mocking


    【解决方案1】:

    我能够通过确保解决它

    import { fun } from './test-config';
    fun.cleanup;
    

    在顶部。

    和,

    "esModuleInterop": true
    

    在 compilerOptions 下的 tsConfig.json 中。

    【讨论】:

      猜你喜欢
      • 2022-11-17
      • 2020-03-31
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多