Code Monkey home page Code Monkey logo

Comments (7)

twolfson avatar twolfson commented on July 2, 2024 1

Ah, alright. Thanks for the context =)

As a heads up, this is best suited for only testing the renderer portion of an electron app (i.e. testing menus should be done via Electron and Selenium)

I wouldn't suggest using this for regular web apps. It's typically best to have the testing environment be as close to production as possible. This means the ideal scenario is using an actual browser (e.g. Chrome, Firefox), although both electron and PhantomJS suffice.

One scenario where it would annoyingly fail would be accidentally relying on something Node.js based but something is different in the browser polyfill (e.g. Buffer). One scenario where it would be nice is visual regression testing directly in the test suite (maybe using it as a secondary plugin, instead of exclusively).

from karma-electron.

twolfson avatar twolfson commented on July 2, 2024

We do require at least [email protected]. I figured we wouldn't need to document/introduce that because people who are installing karma-electron will typically only be using this plugin which means their karma install would be fresh.

In addition to that, I would prefer to avoid peerDependencies as they typically cause more headaches than solve any:

npm/npm#5080

How about we add something to the README as a compromise?

from karma-electron.

pirelenito avatar pirelenito commented on July 2, 2024

On npm 3 this shouldn't be a problem anymore, given it doesn't install peerDependencies automatically. Its purpose is simply to warn any consumer of the package that you need to install extra dependencies for it to work.

If you still are not comfortable in adding it as a peerDependencies I would do as you suggest and add a notice in the README.

Thanks again!

from karma-electron.

pirelenito avatar pirelenito commented on July 2, 2024

Either way you decide to go, I can prepare a PR.

from karma-electron.

twolfson avatar twolfson commented on July 2, 2024

Ah, that's a good solution for npm@3. Unfortunately, a lot of users (myself included) are still using npm@2 (my reason is this blocker issue hasn't bee resolved to my knowledge -- npm/npm#10119)

I think the README is the best solution. We should probably also list the version of Electron we have tested against.

I will take care of the README update -- I'm typically picky about what's said/where so I don't want to waste any of your time with back and forth. I will take care of that by the end of the weekend.

For my own reference, how were you using karma before karma-electron? (e.g. using PhantomJS but with a bundler)

from karma-electron.

pirelenito avatar pirelenito commented on July 2, 2024

Awesome, thanks!

I still use Karma with PhantomJS for my regular web projects. You can check how I set it up in Sagui a tool to build frontend projects.

My use-case with your library is to test an actual Electron app.

Would you suggest using it for regular web applications as well? And why?

from karma-electron.

twolfson avatar twolfson commented on July 2, 2024

This has been patched and released in 4.1.1

from karma-electron.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.