JSJ 341: Testing in JavaScript with Gil Tayar
JavaScript Jabber27 Marras 2018

JSJ 341: Testing in JavaScript with Gil Tayar

Panel:
  • Aimee Knight
  • AJ O’Neal
  • Charles Max Wood
Special Guest: Gil Tayar In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more!Show Topics:0:00 – Advertisement: KENDO UI 0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous!1:13 – Gil talks about where he resides and his background. 2:27 – Chuck: What is the landscape like now with testing and testing tools now?2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools. We can do frontend testing that wasn’t possible 5 years ago. The major change was React.The guest talks about Node, React, tools, and more!4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what?5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider.The guest gives hypothetical situations that people could face. 6:27 – Aimee.6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but...7:22 – Aimee: I totally agree and I could go on and on and on.7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app.I guess I just need advice in this area, I guess.8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought.10:20 – Guest: Don’t mock too much.10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that.11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite.12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff.13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database.13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing.14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition.14:47 – Guest: Write the code, and then write the tests.The guest gives a hypothetical situation on how/when to test in a certain situation. 16:25 – Panel: Can you talk about that more, please?16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns.18:04 – Panel talks about dependency interjection and asks a question. 18:27 – Guest: What I am talking about very, very light inter-dependency interjection.19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it.19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc.20:09 – Panel.20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package.20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested?21:39 – Guest answers the question and mentions Selenium! 24:27 – Panel: I like that approach.24:35 – Chuck: When you say integration test what do you mean?24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time.26:54 – Advertisement – Sentry.io 27:52 – Chuck: How much do the tools matter?28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools.28:39 – Aimee: Yes and no. I think some tools are outdated.28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide?29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser.The guest continues with this topic.30:54 – Aimee mentions Cypress. 31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them.31:21 – Aimee: I think they are focusing on mobile more.31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers.32:32 – Guest: Selenium is a Swiss knife – it can do everything.33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about?33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome. 35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down?36:06 – Guest.38:30 – Chuck: You run tests against production?38:45 – Guest: Don’t run tests against production...let me clarify!39:14 – Chuck.39:21 – Guest: When I am talking about integration testing in the backend...40:37 – Chuck asks a question. 40:47 – Guest: I am constantly running between frontend and backend.I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too.43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months?43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this...44:40 – Guest: Frontend is so visual.45:12 – Chuck: What are you working on now?45:16 – Guest: I am working with Applitools and I was impressed with what they were doing.The guest goes into further detail.46:08 – Guest: Those screenshots are never the same.48:36 – Panel: It’s...comparing the output to the static site to the...48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Jaksot(735)

JSJ 441: The Present and Future of JavaScript Bundling and Delivery with Yoav Weiss

JSJ 441: The Present and Future of JavaScript Bundling and Delivery with Yoav Weiss

Yoav Wiess is a Developer Advocate at Google on the Chrome team, and also co-chair of the W3C Performance Working Group. In this episode Yoav explains how JavaScript resources are currently being delivered to browsers, and limitations and downsides with these approaches. He then describes a proposal for an advanced JavaScript delivery method that addresses these limitations. When this proposal is implemented, it will enable much more efficient download of JavaScript into browsers, boosting Web performance. This is a public proposal, and Yoav invites the community to participate in the standardization process.PanelAJ O’NealAimee KnightSteve EdwardsDan ShappirGuestYoav WeissSponsorsScout APM | We'll donate $5 to the open source project of your choice when you deploy ScoutReact Native Remote Conf 2020LinksJSJ 434: Understanding and Using ES Modules in Node with Gil TayarPicksYoav Weiss McCumskey:Follow Yoav on Twitter > @yoavweiss Scroll to Text Fragment - Chrome Platform StatusAJ O’Neal:Follow AJ on Twitter > @coolaj86The Beatles: Abbey Road(great dynamic range) (note: the title I meant to use)Deno | webinstall.devDan Shappir:"Inspired by @Apple's #WWDC2020, I quickly built WashOSCharlie Gerard 🏳️‍🌈 (@devdevcharlie) / TwitterThe Beatles: a musical appreciation and analysis by composer, Howard Goodall CBESteve Edvards:Going Full Static - NuxtJSAimee Knight:Teach Yourself Computer ScienceFollow JavaScript Jabber on Twitter > @JSJabber Special Guest: Yoav Weiss. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

21 Heinä 20201h 15min

JSJ 440: Why Serverless with Gareth McCumskey

JSJ 440: Why Serverless with Gareth McCumskey

Join the 30-DAY CHALLENGE: "You Don't Know JS Yet"Gareth McCumskey, a Solutions Architect in Cape Town, South Africa engages the panelists of JavaScript Jabber in an informative discussion about the broad topic of serverless. The JavaScript expert explains that serverless is essentially a way to use the existing managed services of the cloud in building a solution. He expounded on the different ways in which to employ the use of serverless.PanelAJ O’NealCharles Max WoodSteve EdwardsDan ShappirGuestGareth McCumskey SponsorsScout APM | We'll donate $5 to the open source project of your choice when you deploy ScoutReact Native Remote Conf 2020PicksGareth McCumskey:Follow Gareth on Twitter > @garethmcc Oryx Pro - System76Full-Stack Application Development on AWS (Free Video Course) AJ O’Neal:Follow AJ on Twitter > @coolaj86webinstall.devServiceman | webinstall.devPathman | webinstall.devSteve Edvards:The Black Stallion (1979) - IMDbCharles Max Wood:Devchat.tv Remote ConferencesFollow JavaScript Jabber on Twitter > @JSJabber Special Guest: Gareth McCumskey. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

14 Heinä 20201h 25min

JSJ 439: More Jabber About Less JavaScript with Alex Russell

JSJ 439: More Jabber About Less JavaScript with Alex Russell

Join the 30-DAY CHALLENGE: "You Don't Know JS Yet"Alex Russell works for Google on the Chrome team and is the lead of Project Fugu which focuses on Web Capabilities and Progressive Web Apps. Alex leads the JavaScript Jabber panel in a discussion of writing less JavaScript and focusing on performance and functionality on low bandwidth connections and low performance phones. Because accessibility is downstream, now, of performance, he argues that we need to focus on performance to make applications that give a good experience on lower end phones and connections.PanelAJ O’NealAimee KnightCharles Max WoodDan ShappirGuestAlex Russell React Native Remote Conf 2020 Links1 Million Teachers And Staff Lost Their Job In AprilJSJ 428: The Alphabet Soup of Performance Measurements - Devchat.tvPicksAlex Russell:Follow Alex on Twitter > @slightlylate, Websiteweb.devWebPageTest - Website Performance and Optimization TestAJ O’Neal:Flint 4KP HDMI CaptureBureau of Justice StatisticsBlack Voices MatterLyndon Johnson was a civil rights hero. But also a racist. | MSNBCAimee Knight:Package PhobiaUnsplashCharles Max Wood:PodWrenchHome | Brandon SandersonDan Shappir:Package PhobiaEpisode 253 – Take Responsibility for Your Career and Work on Things You Enjoy with Dan Shappir – IT Career Energizer Follow JavaScript Jabber on Twitter > @JSJabber Special Guest: Alex Russell. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

7 Heinä 202013min

JSJ 438: You Don't Know JS Yet with Kyle Simpson (SPECIAL ANNOUNCEMENT at the End)

JSJ 438: You Don't Know JS Yet with Kyle Simpson (SPECIAL ANNOUNCEMENT at the End)

Join the “You Don’t Know JS Yet” 30-day CHALLENGE SPECIAL ANNOUNCEMENT at the end of this episode. Don't miss it. Kyle Simpson, author of the You Don't Know JS Yet series joins the JavaScript Jabber panel to discuss the origins and approach to his book series. The discussion varies to the basic parts of JavaScript, the parts you should know, and how to learn them.PanelAJ O’NealAimee KnightCharles Max WoodSteve EdwardsDan ShappirGuestKyle SimpsonSponsorsG2i | Enjoy the luxuries of freelancing "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Linksgetify/TypL: The JavaScript Type LinterPicksKyle Simpson:Follow Kyle Thompson on Twitter > @getifygithub/super-linter: Combination of multiple linters to install as a GitHub ActionCharles Max Wood:WordPressVlog - Video Blog & Podcast WordPress Theme by meks | ThemeForestDevchat.tv Book Camp - Use Promo code "JSJABBER"Dan Shappir:Wix in the '90sBreaking Chains with Pipelines in Modern JavaScriptA Promise of a Bright Future With Async Iterators, Generators, and Pipes, Part 1Join the “You Don’t Know JS Yet” 30-day CHALLENGEFollow JavaScript Jabber on Twitter > @JSJabber Special Guest: Kyle Simpson. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

30 Kesä 20201h 21min

JSJ 437: Inside the Brave Browser with Jonathan Sampson

JSJ 437: Inside the Brave Browser with Jonathan Sampson

React Native Remote ConfJuly 28th to 31thJonathan Sampson hops into the Jabber session to talk about the Brave Browser. He and the panel wander through the topics of privacy, browser design, and features.PanelAJ O’NealAimee KnightCharles Max WoodSteve EdwardsDan ShappirGuestJonathan Sampson  "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! PicksJonathan Sampson:Follow Jonathan Sampson on Twitter > @BraveSampson, @jonathansampsonOffice LadiesJavaScript: The First 20 YearsThe Office: The Untold Story of the Greatest Sitcom of the 2000sAJ O’Neal:Predictably IrrationalDragon Ball ZAimee Knight:What Is BGP?8GreensCharles Max Wood:Traffic SecretsDotCom SecretsExpert SecretsSteve Edwards:Home TownDan Shappir:Web VitalsJSJ 428: The Alphabet Soup of Performance MeasurementsWhat's New in Lighthouse 6.0Follow JavaScript Jabber on Twitter > @JSJabber Special Guest: Jonathan Sampson. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

23 Kesä 20201h 25min

JSJ 436: MongoDB Basics with Joe Karlsson

JSJ 436: MongoDB Basics with Joe Karlsson

React Native Remote ConfJuly 28th to 31thWhat is MongoDB? How does it work? How is it different than a standard relational database? How does it fit into a modern web app? This week, the panel gets the answers to these questions and more when they talk to Joe Karlsson, Software Engineer and Developer Advocate at MongoDB.PanelAJ O’NealAimee KnightSteve EdwardsGuestJoe KarlssonSponsorsG2i | Enjoy the luxuries of freelancingRemote Work: Get a Job or Make a Career Working From Home "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! LinksFree MongoDB Official Courses | MongoDB UniversityCourse to start withMongoDB Developer HubPicksJoe Karlsson:Follow Joe on Twitter > @JoeKarlsson1MongoDB TwitchAnimal Crossing: New HorizonsMongoDB.liveAJ O’Neal:The guys who invented the term "sharding"?Supporting Pick: WikiPedia confirms that Ultima Online popularized the term "sharding"Your Coffee Shop Doesn't Use Two-Phase CommitAimee Knight:What happens when I type kubectl run?The Cereal SchoolSteve Edwards:Pink Floyd: A Momentary Lapse of ReasonFollow JavaScript Jabber on Twitter > @JSJabber Special Guest: Joe Karlsson. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

16 Kesä 202059min

JSJ 435: Form.io with Travis Tidwell

JSJ 435: Form.io with Travis Tidwell

The panel is joined by Travis Tidwell, co-founder and CTO of Form.io, a ME*N stack platform that incorprates a form builder with automatically generated REST API endpoints. Travis discusses the history of Form.io, how it’s built and works, and lays the smackdown on panelist and noted NoSQL database skeptic AJ O’Neal by showing how MongoDB is the appropriate DB for storing form data in JSON format.PanelSteve EdwardsAJ O’NealAimee KnightGuestTravis TidwellSponsorsG2i | Enjoy the luxuries of freelancingRemote Work: Get a Job or Make a Career Working From Home "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! LinksForm.ioPicksAJ O’Neal:Follow AJ on Twitter > @coolaj86File System | Node.js v14.3.0 DocumentationJDDwebinstall.devSteve Edwards:Follow Steve on Twitter > @wonder95, WebsiteNeedtobreathe - Rivers In The WastelandTravis Tidwell:Follow Travis on Twitter @softwaregnome, GithubVEX IQ - VEX RoboticsFollow JavaScript Jabber on Twitter > @JSJabber Special Guest: Travis Tidwell. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

2 Kesä 20201h 7min

JSJ 434: Understanding and Using ES Modules in Node with Gil Tayar

JSJ 434: Understanding and Using ES Modules in Node with Gil Tayar

Gil Tayar gave a presentation recently on ES modules in Node. He joins the panel to discuss how to use and think about ES modules. With considerable pushback from AJ, Gil explains how to start using modules and what the tradeoffs are between modules, script tags, and build tools.PanelAJ O’NealAimee KnightCharles Max WoodSteve EdwardsDan ShappirGuestGil TayarSponsorsG2i | Enjoy the luxuries of freelancingRemote Work: Get a Job or Make a Career Working From Home "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! LinksJSJ 341: Testing in JavaScript with Gil TayarPicksAJ O’Neal:USB 4Heavy Duty Suction CupsMiracle BerryAimee Knight:AJ ONeal - YouTubeCharles Max Wood:Dr. Erickson COVID videoZelda: Breath of the Wild75HARDSteve Edwards:Don’t Let the Pigeon Drive the BusThe Pigeon Finds a Hot DogDan Shappir:webinstall.devVisit IsraelGil Tayar:Follow Gil on Twitter > @giltayarSunset BlvdNode v14.0.0Follow JavaScript Jabber on Twitter > @JSJabber   Special Guest: Gil Tayar. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

19 Touko 202043min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
mimmit-sijoittaa
rss-rahapodi
psykopodiaa-podcast
ostan-asuntoja-podcast
oppimisen-psykologia
herrasmieshakkerit
sijoituskaverit
hyva-paha-johtaminen
rss-rahamania
rss-lahtijat
kasvun-kipuja
pomojen-suusta
taloudellinen-mielenrauha
yrittaja
rss-h-asselmoilanen
rss-bisnesta-bebeja
rss-yrittajan-mielenmatka
rss-merja-mahkan-rahat
rss-hoyrytetty