Как проверить GRP C с помощью Nest and Jest? - PullRequest
3 голосов
/ 28 мая 2020

Я пытаюсь протестировать метод GRP C, но получаю эту ошибку при запуске в Jest: TypeError: Cannot read property 'gprcFindAll' of undefined

Это документация, на которую я ссылаюсь: https://docs.nestjs.com/microservices/grpc

Вот мой контроллер:

@Controller('benchmarks')
export class BenchmarksController {

    @GrpcMethod('HelloWorldGRPCService', 'findAll')
    async gprcFindAll(metadata?: any): Promise<Benchmarks[]> {
        const benchmarks = [];
        return benchmarks;
    }
}

Вот мой тест Jest:

describe('Benchmarks Controller', () => {
    let controller: BenchmarksController;

    beforeEach(async () => {
        const module: TestingModule = await Test.createTestingModule({
            controllers: [BenchmarksController]
        }).compile();

        controller = module.get<BenchmarksController>(BenchmarksController);
    });

    it('should be defined', () => {
        expect(controller).toBeDefined();
    });

    it('GRPC Should Find All', async function() {
        const result = await controller.gprcFindAll();
        console.log(result);
    }); 
});

Вот мой файл Proto 3:

syntax = "proto3";

package helloWorldGRPC;

service HelloWorldGRPCService {
    rpc findAll () returns (repeated Benchmarks);
}

message Benchmarks {
    string trans_id = 1;
    string protocol = 2;
    string database = 3;
    Timestamp updated_at = 4;
    Timestamp created_at = 5;
    repeated Action actions = 6;
}

message Action {
    string trans_id = 1;
    int32 payload_length = 2;
    string payload = 3;
    string status = 4;
    Timestamp updated_at = 5;
    Timestamp created_at = 6;
}
...