Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure to run test #1177

Open
ekoulemaneng opened this issue Mar 31, 2023 · 7 comments
Open

Failure to run test #1177

ekoulemaneng opened this issue Mar 31, 2023 · 7 comments

Comments

@ekoulemaneng
Copy link

Current Behavior

When I run yarn test, I get this bug:

` FAIL test/blah.test.ts
● Test suite failed to run

TypeError: The "path" argument must be of type string. Received undefined

  at node_modules/tsdx/node_modules/ts-jest/dist/compiler/compiler-utils.js:19:27
      at Array.map (<anonymous>)
  at Object.cacheResolvedModules (node_modules/tsdx/node_modules/ts-jest/dist/compiler/compiler-utils.js:18:14)
  at compileFn (node_modules/tsdx/node_modules/ts-jest/dist/compiler/language-service.js:127:38)
  at Object.compile (node_modules/tsdx/node_modules/ts-jest/dist/compiler/instance.js:52:21)
  at TsJestTransformer.process (node_modules/tsdx/node_modules/ts-jest/dist/ts-jest-transformer.js:85:41)
  at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:481:35)`

Expected behavior

And yet, I have only tested the function of the basic boilerplate of TSDX.

Suggested solution(s)

Additional context

Your environment

System:
    OS: Linux 5.19 Ubuntu 22.04.2 LTS 22.04.2 LTS (Jammy Jellyfish)
    CPU: (8) x64 Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz
    Memory: 1.49 GB / 7.54 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 18.12.1 - ~/.nvm/versions/node/v18.12.1/bin/node
    Yarn: 3.3.1 - ~/.nvm/versions/node/v18.12.1/bin/yarn
    npm: 8.19.2 - ~/.nvm/versions/node/v18.12.1/bin/npm
    Watchman: 20221225.010033.0 - /usr/local/bin/watchman
  Browsers:
    Firefox: 111.0.1

@brietsparks
Copy link

I don't know the direct fix, but as a workaround you could use dts-cli which is a maintained fork of tsdx, or try downgrading to TypeScript v4

@amerllica
Copy link

I have got the same issue, and really I don't like to downgrade anything. still I'm seeking for a solution.

@jaredpalmer, Could you take a look please?

@yangwawa0323
Copy link

yangwawa0323 commented May 6, 2023

I got same issue, and I just use command npx tsdx create mylib2 initial the project. the following is the error message.

D:\Projects\mylib2  ([email protected])
λ yarn test --coverage
 FAIL  test/blah.test.tsx
  ● Test suite failed to run

    TypeError: The "path" argument must be of type string. Received undefined

      at node_modules/tsdx/node_modules/ts-jest/dist/compiler/compiler-utils.js:19:27
          at Array.map (<anonymous>)
      at Object.cacheResolvedModules (node_modules/tsdx/node_modules/ts-jest/dist/compiler/compiler-utils.js:18:14)
      at compileFn (node_modules/tsdx/node_modules/ts-jest/dist/compiler/language-service.js:127:38)
      at Object.compile (node_modules/tsdx/node_modules/ts-jest/dist/compiler/instance.js:52:21)
      at TsJestTransformer.process (node_modules/tsdx/node_modules/ts-jest/dist/ts-jest-transformer.js:85:41)
      at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:481:35)

-----------|---------|----------|---------|---------|-------------------
File       | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------|---------|----------|---------|---------|-------------------
All files  |       0 |      100 |       0 |       0 |
 index.tsx |       0 |      100 |       0 |       0 | 1-5
-----------|---------|----------|---------|---------|-------------------
Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        9.645s
Ran all test suites.

D:\Projects\mylib2  ([email protected])
λ yarn -v
3.4.1

@Connor-8
Copy link

Connor-8 commented May 8, 2023

So I wasn't able to directly fix the issue but my workaround for not having to downgrade my typescript version was to install ts-jest and jest directly using

yarn add --dev jest
yarn add --dev ts-jest
yarn add --dev @jest/globals

so now my devDependencies look like this

  "devDependencies": {    
    "@jest/globals": "^29.5.0",
    "@size-limit/preset-small-lib": "^8.2.4",
    "@types/jest": "^29.5.1",
    "husky": "^8.0.3",
    "jest": "^29.5.0",
    "size-limit": "^8.2.4",
    "ts-jest": "^29.1.0",
    "tsdx": "^0.14.1",
    "tslib": "^2.5.0",
    "typescript": "^5.0.4"
  },

then I changed my "test" script to run "jest" instead of "tsdx test"

  "scripts": {
    "start": "tsdx watch",
    "build": "tsdx build",
    "test": "jest",
    "lint": "tsdx lint",
    "prepare": "tsdx build",
    "size": "size-limit",
    "analyze": "size-limit --why"
  },

my test file looks like this now

import {describe, expect, test} from '@jest/globals';
import {sum} from './sum';

describe('sum module', () => {
  test('adds 1 + 2 to equal 3', () => {
    expect(sum(1, 2)).toBe(3);
  });
});

I'm pretty sure the "@jest/globals" isn't actually needed because of having "@types/jest" installed but I don't feel like messing with this any further.

edit:

I forgot to mention I also ran yarn ts-jest config:init

@ApayRus
Copy link

ApayRus commented Jul 24, 2023

@Connor-8 Hi. Thank you. Where did you run yarn ts-jest config:init?

@Connor-8
Copy link

@Connor-8 Hi. Thank you. Where did you run yarn ts-jest config:init?

If I remember correctly (emphasis on the "if I remember") it was in the root my project in order to generate the jest.config.js so if you already have one it might not be necessary.

@ApayRus
Copy link

ApayRus commented Jul 24, 2023

@Connor-8 thank you :)
I gave up and downgraded typescript to v4 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants