首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确配置带有Scheduler扩展的Probot单元测试?

如何正确配置带有Scheduler扩展的Probot单元测试?
EN

Stack Overflow用户
提问于 2018-12-04 10:19:16
回答 1查看 347关注 0票数 1

我正在使用下面的最小probot应用程序,并尝试为它编写Mocha单元测试。

不幸的是,这会导致下面的错误,这意味着我为私钥或安全令牌设置的一些东西没有被捕获。

我假设我的.env文件的配置是正确的,因为当我通过probot-run.js启动probot时没有得到相同的错误。

当与Mocha一起使用时,是否需要额外的步骤来配置probot?任何关于为什么使用调度程序扩展会导致这样的问题的建议都是很好的。

代码和错误如下:

app.ts

代码语言:javascript
复制
import createScheduler from "probot-scheduler";
import { Application } from "probot";

export = (app: Application) => {

  createScheduler(app, {
    delay: !!process.env.DISABLE_DELAY, // delay is enabled on first run
    interval: 24 * 60 * 60 * 1000 // 1 day
  });

  app.on("schedule.repository", async function (context) {
    app.log.info("schedule.repository");
    const result = await context.github.pullRequests.list({owner: "owner", repo: "test"});
    app.log.info(result);
  });
};

test.ts

代码语言:javascript
复制
import createApp from "../src/app";

import nock from "nock";
import { Probot } from "probot";

nock.disableNetConnect();

describe("my scenario", function() {
  let probot: Probot;
  beforeEach(function() {
    probot = new Probot({});
    const app = probot.load(createApp);
  });

  it("basic feature", async function() {
    await probot.receive({name: "schedule.repository", payload: {action: "foo"}});
  });
});

不幸的是,这会导致以下错误:

代码语言:javascript
复制
 Error: secretOrPrivateKey must have a value
  at Object.module.exports [as sign] (node_modules/jsonwebtoken/sign.js:101:20)
  at Application.app (node_modules/probot/lib/github-app.js:15:39)
  at Application.<anonymous> (node_modules/probot/lib/application.js:260:72)
  at step (node_modules/probot/lib/application.js:40:23)
  at Object.next (node_modules/probot/lib/application.js:21:53)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-04 21:51:24

原来,正如文档中所建议的那样,new Probot({});不带任何参数就初始化Probot对象(给定的选项对象{}毕竟是空的)。

为了避免错误,您可以手动提供以下信息:

代码语言:javascript
复制
new Probot({
  cert: "...",
  secret: "...",
  id: 12345
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53610648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档