Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using supertest in TypeScript - Getting problem "cannot invoke expression whose type lacks a call signature"

I am trying to use supertest with TypeScript after initially using with JavaScript.

However I am now receiving red squiggles under my code stating:

cannot invoke expression whose type lacks a call signature. Type 'typeof supertest' has no compatible call signatures

I am using supertest in the following way:

import * as supertest from 'supertest';

const request = superTest(some.url);

// Forgive my pseudocode
function makeRequest() {
  return request.get('/endpoint')...
}

Is this something I should be worried about? How can I correct this?

like image 886
physicsboy Avatar asked Aug 25 '26 23:08

physicsboy


1 Answers

I had the @types/supertest added (as suggested by the other answer) but doing the following solved the problem:

  1. import supertest like this:

    import supertest from 'supertest';
    
  2. in my index.ts file, export the value of app.listen(...); like following (previously it was export default server):

    export {server};
    
like image 52
Sufian Avatar answered Aug 28 '26 12:08

Sufian



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!