mmanela / chutzpah

Chutzpah is an open source JavaScript test runner which enables you to run unit tests using QUnit, Jasmine, Mocha and TypeScript.
http://mmanela.github.io/chutzpah/
Apache License 2.0
550 stars 143 forks source link

Running Chutzpah on macOS from within VS Code? #796

Closed ruffin-- closed 2 years ago

ruffin-- commented 3 years ago

I've installed the Chutzpah Runner in VS Code on macOS, but I'm not sure how to tell it where the .exe lives -- or, more to the point, how to get a living .exe on my macOS box.

The settings seem to suggest Chutzpah is compatible with *NIX when it says ~/ChromeDevSession may be used for the profile folder by default, but I wasn't able to figure out how to install the nuget.

chutzpahSettings

In my case, I'm just trying to edit the client-side code for an app with no csproj file. It doesn't look like (understandably) that nuget is happy with this situation -- that is, nuget seems to expect a csproj host [or equivalent].

projects/QuestionBuilder.Client $ dotnet add package Chutzpah --version 4.4.10
Could not find any project in `/Applications/projects/QuestionBuilder.Client/`.

Does Chutzpah run on macOS/Core? How would I install a copy to run outside of a csproj environment?

NOTE: Also posted on the Chutzpah Runner repo in case that's more appropriate.

mmanela commented 3 years ago

Chutzpah does not support anything but windows.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

ruffin-- commented 2 years ago

Just for fun, here's a Chutzpah clone called khutzpa [that I wrote] that runs on macOS and essentially works with Frencham's Chutzpah Runner.

I'm sure there are bugs, it's got a few rough edges (coverage with the VS Code Chutzpah Runner opens an extra browser tab/window atm & it can only support one report at a time; you have kill a process to fire another), and it supports a pretty stark subset of the full Chutzpah options so far, but not bad for a few weekends' of catch-as-catch-can spare time.

I haven't tested on Windows yet and suspect I'll have to set up a .bat file similar to the macKhutzpa.sh file I created for macOS. That is, right now Chutzpah Runner support is macOS only. Should have that fixed soon, though.

I've also updated the tools a little. Blanket has been replaced by Istanbul (via karma), which means coverage doesn't have the PhantomJS issue any more and can test modern code more easily.

I looked through the Chutzpah code a decent amount back in Feb/March. I was surprised to see how much of it was JS (not C#) and it was excellent! I thought about forking and gutting the tools, but after a while figured starting over in Node would be easier.

The Chutzpah.json file format is very useful, which means my company's apps will move over easily and I have one less wheel to reinvent, which was a big help. The tool has worked very well for them for years, and I didn't want to rock the boat too much as we move away from an AngularJS heavy codebase [and need es6+ JavaScript testing support].

I'll try looking at stealing your Visual Studio Classic extension code once I get our builds swapped over (which use Chutzpah as part of the code's QA steps), which could take a little while. My code is also a[n almost] first-functioning mess right now. Don't look too closely. Need to refactor. A lot. It hurts me to look at it.

Anyhow, just fyi. If you're coding a project that relies on Chutzpah for testing & are using a Mac (or want to), you can now check tests and coverage. Bug reports more than welcome!

mmanela commented 2 years ago

@ruffin-- Super cool! Love seeing working around the nightmare of our old dependencies :)

ruffin-- commented 2 years ago

@mmanela Cool; thanks. Got it running on the command line [only] on Windows now, but only pretty simplistic sites with my currently fairly naive implementation.

I'm currently testing against real-world repos at work and straightening out real world bugs -- as an example, serving resource files with paths "higher" than the Chutzpah.json file, which we do a lot, wasn't initially supported the way I wrote this.

(On the, "You can have it fast, right, and cheap. Pick two," board, I usually choose "right and cheap" for hobbies, but I'm afraid this project is in "fast and cheap" land right now.)

I'll bug this thread once it's mature enough to run against our apps, but heads up in the meanwhile if anyone googles up this issue.