-
-
Notifications
You must be signed in to change notification settings - Fork 7.4k
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
How to setup Karma/Jasmine with Typescript support for a NestJs project #466
Comments
Karma is usually used for running frontend tests. You can use Jasmine with ts-node. Nest uses Mocha with ts-node and nyc for testing with test coverage. I personally use Jest. If you are not familiar with any of these, just mimic the testing setup used in Nest. |
Yeah I understood that yesterday before going to bed 😅 ... Every setup I had to do before Angular-Cli I've been using Karma and for backend I never had to set tests up so I didn't realized... I also made it working with the following npm scripts:
There are probably better ways but at least I've got something working for now. Thanks for the description I'll look into code coverage soon 👍 |
I agree there is a missing step in the testing documentation, if you following along with the docs doing the Cats examples you will get an error saying "cannot find name 'describe'" on the tests. It'd be really great if the demo project had a basic test in it so that the package.json file is in a good state. |
The starter projects, as well as the project generated through CLI, have a base testing configuration provided out-of-the-box now. |
You guys wouldn't be opposed to someone writing a test or two for each of these right? https://github.com/nestjs/nest/tree/master/sample The current coverage is fairly low |
Yep I just wrote a test with Jest on a project I've started yesterday with the CLI, it's perfect @kamilmysliwiec 😄 One little thing, I'm not sure if it's because I've made a monorepo front/back or not, but VSC is going mad saying that Probably need some TS declarations... |
I can confirm starting a new project generated with the latest version of the
Even though they seem to be declared in |
It seems like it was just a problem with visual studio code. I had the project open at a higher directory level than where the
Weird, as according to microsoft/TypeScript#10283 vscode should walk up the directory tree to find the nearest relevant |
I opened an issue in vscode microsoft/vscode#50910 |
Not a vscode issue, adding
to the top of the test file solved the red lines issue even when I didn't have the project open at the root. Maybe this should be fixed in the schematics for the cli? @kamilmysliwiec |
@CoreyCole are you experiencing issues with a project created from the CLI? Personally, I have never had to import |
I actually like this solution more:
|
@patrickhousley yes it's problems with projects created with the CLI in subdirectories, you can see my reproduction here https://github.com/CoreyCole/tsconfig-bug And repro gifv here Adding the |
I have never seen that configuration option. What is that?? Is that only for vscode? |
I cannot find documentation for it, but here it is in Typescript source https://github.com/Microsoft/TypeScript/blob/master/lib/typescript.d.ts#L2464 |
Yeah it's an open issue that the feature is not documented |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
I'm submitting a...
Current behavior
The testing documentation is great but there's no setup part and and the starters probably don't want to enforce any testing framework, we have to do that setup ourselves, which is pretty hard for angular-cli user 😅 (focus on writing code, not setting things up)
A bit of help would be veeeeery welcome for that and I'm guessing that I'm not the only one who want that kind of setup so maybe there should be some section in doc how to make a basic setup for testing a Nest project (at least with Typescript support).
So I'm creating a starter NestJs for the back, Angular for the front:
https://github.com/maxime1992/nest-angular-starter
I used karma-typescript and made a setup.
It ended up with some errors related to my karma conf, which has now been solved.
The only last error is directly related to Nest and/or Express I think.
When I launch the tests I end up with:
And I can also have this more complete stacktrace:
Expected behavior
I'd just love to be able to kickstart a Nest app and focus on code/tests.
If anybody could help me make that works, then maybe we could also start a dedicated documentation section for that kind of setup?
Minimal reproduction of the problem with instructions
You can find more information where I started this issue here: monounity/karma-typescript#32 (comment)
I also have a repo where you can try it on your own:
What is the motivation / use case for changing the behavior?
Focus on code/tests, not tooling
Environment
The text was updated successfully, but these errors were encountered: