【问题标题】:Unit and e2e testing a grpc microservice单元和 e2e 测试 grpc 微服务
【发布时间】:2018-05-18 14:55:31
【问题描述】:

大家好,我正在使用 nestjs 框架创建一个 grpc 微服务。谁能给我一些关于如何测试我的 grpc 微服务(单元和 e2e)的建议。

【问题讨论】:

    标签: node.js grpc nestjs


    【解决方案1】:

    你可以在github找到关于微服务e2e的官方文档,

    em.. 单元测试演示我仍在寻找,

    grpc-mock 或许可以做单元测试

    【讨论】:

      【解决方案2】:

      这可能并不理想,但我的设置类似于使用 Jest。希望它能让你开始。

      beforeAll((done) => {
        client = new service.SomeService(
            'localhost:55051',
            grpc.credentials.createInsecure()
        );
        done();
      });
      
      afterAll(done => {
        client = null;
        done();
      });
      
      /**
       * Handles gRPC responses. Takes a parser to use against the response object
       * @param {function} responseParser the parser for the response object
       * @returns {function} the callback to pass in to gRPC responses
       */
      const responseHandler = (onErr, responseParser, done) => (err, response) => {
        if (err) {
          return onErr(err, done)
        } else {
          return responseParser(response, done);
        }
      };
      
      describe('Authenticate', () => {
        const callback = expected => (response, done) => {
          const received = {
              status: response.status,
              challenge: bytes(response.challenge),
          };
      
          expect(received).toEqual(expected);
          done();
      
        const errHandler = expected => (err, done) => {
          expect(err).toBe('Offline')
      };
      
        test('Gets a challenge token', (done) => {
          const expected = {
            status: testValues.SUCCESS,
            challenge: testValues.CHALLENGE
          };
      
          client.authenticate(
            { someKey: testValues.SOME_KEY },
            responseHandler(errHandler(expected), callback(expected), done)
          );
        });
      });
      

      【讨论】:

      • 和nestjs有什么关系?
      猜你喜欢
      • 2019-12-10
      • 2020-05-17
      • 2017-06-25
      • 2021-09-02
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      相关资源
      最近更新 更多