-
Notifications
You must be signed in to change notification settings - Fork 42
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
Cover Several Environments As Part of Testing #52
Comments
You want to deploy the code, fire up a browser and connect to it with something like Selenium, to replicate a real deployment, correct? |
I do not have much knowledge about testing JS code against a browser. What are the options? Yes, the idea is to ensure that the library is tested in an environment closest to real deployment. I was going to do something similar to what js-libp2p does as I assume it should be good enough. |
I will look at the js-libp2p; I mean if we want to we can do a full automated deployment, launch browsers with automated control, and run tests against the actual deployed application, on as many different OS / Browser combinations as we like. It really depends how many platforms we want to support and thorough we want to be about testing the JavaScript on different platforms and browsers. The tests I saw before looked like they were using mocked objects, I'm not sure what automated tests there are but I'll look more. |
It looks like js-libp2p is using https://ipfs.github.io/aegir/ I'm not familiar with it; it has a "browser" test mode, though it's not entirely clear what that is doing. We could implement this same library |
Hum, I am enjoy the integration of Webstorm (my IDE) with mocha/chai. Not really keen to move to another test framework that does not integrate well (I moved away from ava for this reason exactly). Isn't selenium about testing UI component and simulating user actions? We don't really do that as js-waku does not have an UI element. |
Yeah Mocha/Chai is pretty much the standard I find, so good to stay with
that, I was just looking at what the other project was doing for "browser"
testing based on their package.json and it seems that this tool provides to
solution. What exactly it is doing, and what exactly "browser" testing
means in that environment or in general seems unclear.
To me browser testing is deploying a full end to end application with a Web
UI component and testing that UI in the browser, as that is how end users
will end up using it, so it may be a matter of semantics; I'm not exactly
sure how anything else is actually testing the browser though.
We could certainly deploy our code and load the example App in a browser
and make sure it works as a way of testing to make sure the JavaScript
works in actual browsers on actual OSes, that is what I thought you had in
mind; I'm more used to working with independent CI/CD systems like Jenkins
or others than what is integrated into GitHub but I think we could use
Docker to build a real deployment scenario and they offer both Windows and
Mac OS resources as well (though I'm not sure how the monetization model
looks).
I will look through more of the tests, the other tasks were a bit more
clear so I was holding off on this until I got more info from you.
…On Thu, Apr 29, 2021 at 3:07 AM Franck Royer ***@***.***> wrote:
Hum, I am enjoy the integration of Webstorm (my IDE) with mocha/chai. Not
really keen to move to another test framework that does not integrate well
(I moved away from ava for this reason exactly).
Isn't selenium about testing UI component and simulating user actions? We
don't really do that as js-waku does not have an UI element.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#52 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AP6HJBFPLSEUN4KVXWD5DXDTLCWOBANCNFSM43L2SGJA>
.
|
Weekly Update
|
Weekly update:
|
Weekly update:
|
Weekly update:
|
Weekly update:
|
Since #887 is not urgent delaying the ticket. |
@fryorcraken agree, closing |
Planned start date:
Due date:
Summary
js-waku library is meant for browser usage.
Most of the testing is currently done via NodeJS, which is not ideal especially that cryptographic functions uses the Web Crypto API or NodeJS's crypto modules or bindings. Meaning testing in NodeJS does not mean it would work in the Browser.
#230 laid some basis on how to get browser testing as part of the CI. However, it is not complete:
Acceptance Criteria
Tasks
FirefoxHeadless
to the browser list and make it work feat: add Firefox and Webkit to karma #1598Note: aegir uses Karma for browser tests so it should be possible to test it. It could make orchestration easier thanks to the
before
andafter
hooks.RAID (Risks, Assumptions, Issues and Dependencies)
The text was updated successfully, but these errors were encountered: