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)

SolidJS with Ryan Carniato - JSJ 528

SolidJS with Ryan Carniato - JSJ 528

SolidJS is a web development framework that focuses on using reactivity and carries forward several ideas from Knockout.js.https://javascriptjabber.com/13Ryan Carniato, the creator of SolidJS breaks down the history and ideas behind SolidJS and compares it to React and other frameworks.SponsorsTop End DevsRaygun | Click here to get started on your free 14-day trialCoaching | Top End DevsPicksAJ- Creeds of CraftsmanshipFollow CoolAJ86 Live Streams: YouTube: https://youtube.com/coolaj86Twitch: https://twitch.tv/coolaj86Follow Beyond Code: YouTube: https://www.youtube.com/channel/UC2KJHARTj6KRpKzLU1sVxBATwitter: https://twitter.com/@_beyondcodeCharles- Dice Forge | Board Game | BoardGameGeekCharles- BoardGameGeekCharles- Conferences | Top End DevsRyan- Corset - Declarative reactive UI without the complexity of SPAsSteve- Twitter: Dad Jokes ( @Dadsaysjokes )Special Guest: Ryan Carniato.Sponsored By:Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel? Let Charles Max Wood Help You Achieve Your DreamsRaygun: Raygun now offers Real User Monitoring of Core Web Vitals. Start your 14-day free trial now.Top End Devs: Learn to Become a Top 5% Developer. Join our community of ambitious and engaged programmers to learn how.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 Huhti 202253min

What's New with Elm? ft. Lindsay Wardell - JSJ 527

What's New with Elm? ft. Lindsay Wardell - JSJ 527

Elm is a functional language that compiles to JavaScript and runs in the browser. Lindsay Wardell from NoRedInk joins the JavaScript Jabber panel this week to discuss her background with Vue and Elm. The discussion ranges into how Lindsay got into Elm and how it differs and solves some of the issues that crop up when people build apps with JavaScript.SponsorsTop End DevsRaygun | Click here to get started on your free 14-day trialCoaching | Top End DevsLinkselm-vue-bridgeGitHub - lindsaykwardell/vite-elm-templateUtilizing Elm in a Web WorkerSetting up an Elm project in 2022Lindsay WardellPicksAJ- GitHub: coolaj86/AJScriptAJ- SlonikFollow CoolAJ86 Live Streams: YouTube: https://youtube.com/coolaj86Twitch: https://twitch.tv/coolaj86Follow Beyond Code: YouTube: https://www.youtube.com/channel/UC2KJHARTj6KRpKzLU1sVxBATwitter: https://twitter.com/@_beyondcodeCharles- Taco Cat Goat Cheese PizzaDan- UprootedDan- Support UkraineLindsay- Elm Radio PodcastLindsay- Why Isn't Functional Programming the Norm? – Richard FeldmanLindsay- A Taste of Roc — Richard FeldmanSteve- Twitter: Dad Jokes ( @Dadsaysjokes )Special Guest: Lindsay Wardell.Sponsored By:Raygun: Raygun now offers Real User Monitoring of Core Web Vitals. Start your 14-day free trial now.Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel? Let Charles Max Wood Help You Achieve Your DreamsTop End Devs: Learn to Become a Top 5% Developer. Join our community of ambitious and engaged programmers to learn how.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.

12 Huhti 20221h 16min

React Component and State Management - JSJ 526

React Component and State Management - JSJ 526

This episode is Part 3 of the Dan Shappir trilogy. Today, he’s laying out the deets on components and state management inside of React, plus some exciting developments coming later this year.In This Episode1) Why you ought to know the “ideal” situation for React components (and how to get there!) 2) These new “front-end paradigms” that are going to CHANGE how we approach React and others 3) SUPER exciting developments coming for React in 2022SponsorsTop End DevsCoaching | Top End DevsPicksAJ- Dash IncubatorAJ- Talks at GoogleFollow CoolAJ86 Live Streams: YouTube: https://youtube.com/coolaj86Twitch: https://twitch.tv/coolaj86Follow Beyond Code: YouTube: https://www.youtube.com/channel/UC2KJHARTj6KRpKzLU1sVxBATwitter: https://twitter.com/@_beyondcodeCharles- Dice Forge | Board Game | BoardGameGeekCharles- Top End Devs - for upcoming workshopsDan- Support UkraineDan- Interview with Senior JS Developer in 2022 - YoutubeSupport 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.

29 Maalis 20221h 8min

Supply Chain Security - Part 2 - JSJ 525

Supply Chain Security - Part 2 - JSJ 525

There’s always more to learn about security, especially nowadays. In this episode, the Jabberers continue their conversation with Feross Aboukhadijeh about supply chain security. You can never be too careful! (Well…maybe.)“The most important thing you can do is have a mindset shift around dependencies.” _ _- Feross AboukhadijehIn This Episode1) How the BEST way to keep your security tight is NOT done on the computer 2) Why we’re seeing a trend toward THESE kinds of packages in 2022 3) What you NEED to know about dependencies and their expiration datesSponsorsTop End DevsRaygun | Click here to get started on your free 14-day trialCoaching | Top End DevsPicksAJ- Download - The Go Programming LanguageAJ- xtz - npmFollow CoolAJ86 Live Streams: YouTube: https://youtube.com/coolaj86Twitch: https://twitch.tv/coolaj86Follow Beyond Code: YouTube: https://www.youtube.com/channel/UC2KJHARTj6KRpKzLU1sVxBATwitter: https://twitter.com/@_beyondcodeCharles- Pandemic | Board Game | BoardGameGeekCharles- Meetups | Top End DevsCharles- Get involved with your local communityDan- Uprooted by Naomi NovikDan- Interview with Senior JS Developer in 2022Feross- SocketFeross- WormholeFeross- Chakra UISteve- This Unicorn Changed the Way I Poop - #SquattyPottySteve- Girls Don't Poop - PooPourri.comSteve- Twitter: Dad Jokes ( @Dadsaysjokes )Special Guest: Feross Aboukhadijeh.Sponsored By:Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel? Let Charles Max Wood Help You Achieve Your DreamsRaygun: Raygun now offers Real User Monitoring of Core Web Vitals. Start your 14-day free trial now.Top End Devs: Learn to Become a Top 5% Developer. Join our community of ambitious and engaged programmers to learn how.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.

15 Maalis 20221h 24min

Supply Chain Security - Part 1 - JSJ 524

Supply Chain Security - Part 1 - JSJ 524

Malware attacks are scary, so preparation is keys. In this episode, the Jabberers talk with Feross Aboukhadijeh, a developer who’s redefining malware detection to help you prepare for the next assault. “It’s awesome that such small teams can make complex code, but it’s not enough to just scan for vulnerabilities.” -Feross Aboukhadijeh In This Episode1) This SCARY trend in supple chain malware attacks (and how to prepare) 2) Why tools like Socket are VERY different from common malware detection 3) How companies in 2022 are addressing their security (and what they’re looking for in developers to help them)SponsorsTop End DevsCoaching | Top End DevsLinksSocket – protect your OSS supply chainFeross’s Talk at CascadiaJS 2021 “It’s a Jungle Out There! – Open Source Supply Chain Attacks”PicksAimee- Kubernetes Chaos EngineeringAimee- Normatec 2.0 Pro Legs | HypericeAJ- SocketAJ- BundlephobiaAJ- NPMGraphFollow CoolAJ86 Live Streams: YouTube: https://youtube.com/coolaj86Twitch: https://twitch.tv/coolaj86Follow Beyond Code: YouTube: https://www.youtube.com/channel/UC2KJHARTj6KRpKzLU1sVxBATwitter: https://twitter.com/@_beyondcodeCharles- 7 Wonders Board GameCharles- AirmeetCharles- Events | Top End DevsFeross- Node.js FetchFeross- Darknet Diaries – True stories from the dark side of the InternetFeross- Risky Business news recapSteve- passWORDLESpecial Guest: Feross Aboukhadijeh.Sponsored By:Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel? Let Charles Max Wood Help You Achieve Your DreamsTop End Devs: Learn to Become a Top 5% Developer. Join our community of ambitious and engaged programmers to learn how.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.

8 Maalis 20221h 15min

OAuth Explained - JSJ 523

OAuth Explained - JSJ 523

Is OAuth all it’s cracked up to be? In this episode, the Jabberers sit down with Dan Moore, an expert in the OAuth world. They discuss the GIANT perks of OAuth (even if you’re a beginner), how to fix OAuth’s biggest issues, and what you NEED to watch out for in OAuth if you’re a prospective client. “The end goal of OAuth is let someone else handle authentication, and based on tokens you get, you have the insurance that the authentication was valid.” - Dan Moore In This Episode1) The HUGE perks of using OAuth in 2022 (and how to get started) 2) What you SHOULD be looking for in OAuth as a client  3) How to resolve OAuth’s biggest drawbacks and feel confident in your securitySponsorsTop End DevsRaygun | Click here to get started on your free 14-day trialCoaching | Top End DevsPicksAJ- Otter.aiAJ- DashAJ- Elgato Stream DeckFollow CoolAJ86 Live Streams: YouTube: https://youtube.com/coolaj86Twitch: https://twitch.tv/coolaj86Follow Beyond Code: YouTube: https://www.youtube.com/channel/UC2KJHARTj6KRpKzLU1sVxBATwitter: https://twitter.com/@_beyondcode Charles- Tally Charles- GiveSendGo Charles- Encanto | Disney Movies Charles- Workshops | Top End Devs Dan- Descript Dan- The Leanpub Process Dan- Security EngineeringSteve- Twitter: Dad Jokes ( @Dadsaysjokes )Special Guest: Dan Moore.Sponsored By:Raygun: Raygun now offers Real User Monitoring of Core Web Vitals. Start your 14-day free trial now.Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel? Let Charles Max Wood Help You Achieve Your DreamsTop End Devs: Learn to Become a Top 5% Developer. Join our community of ambitious and engaged programmers to learn how.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.

1 Maalis 20221h 11min

Front End Architecture - JSJ 522

Front End Architecture - JSJ 522

In this episode, the Jabberers sit down with Gil Fink, a Microsoft vet and Google developer who’s gonna convince why having front architecture is a no-brainer. They discuss what differentiates it from components, how “memory floods” are washing away developers (and why they’re causing them!), and the BEST way to move between architectures without losing your mind. “You need to understand all the moving parts in your architecture.” - Gil Fink In This Episode1) What makes front end architecture VERY different from components 2) The BIGGEST problems around “prop drilling” between your components (and how libraries really help) 3) How “memory floods” overwhelm developers…and why they don’t even realize they’re causing them! 4) The CORRECT way to move between architectures without screwing yourselfSponsorsVultrTop End DevsCoaching | Top End DevsPicksAJ- Sonnet Echo 5 Thunderbolt 4 HubAJ- WAVLINK Thunderbolt 3 to Dual DisplayPort 1.4AJ- Slipstick Stack-Its Desk LiftsAJ- The Cold, Hard Truth about const, let, varAJ- Webi (webinstall.dev)AJ- CreedsOfCraftsmanship.comFollow CoolAJ86 Live Streams: YouTube: https://youtube.com/coolaj86Twitch: https://twitch.tv/coolaj86Follow Beyond Code: YouTube: https://www.youtube.com/channel/UC2KJHARTj6KRpKzLU1sVxBATwitter: https://twitter.com/@_beyondcode Charles- Candy Land Board Game Dan- IndexedDB API information leaks in Safari Dan- Invincible TV series on Amazon Prime Gil- Chrome Recorder in Dev Tools Tab Gil- The BlacklistSteve- Twitter: Dad Jokes ( @Dadsaysjokes )Special Guest: Gil Fink.Sponsored By:Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel? Let Charles Max Wood Help You Achieve Your DreamsTop End Devs: Learn to Become a Top 5% Developer. Join our community of ambitious and engaged programmers to learn how.Vultr: Tired of explaining your absurdly high Big Tech cloud bills to your boss? Let me tell you about this cloud infrastructure company that’s the talk of the tech world. 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.

22 Helmi 20221h 13min

How to Become a Senior Developer with Shem Magnezi - JSJ 521

How to Become a Senior Developer with Shem Magnezi - JSJ 521

Want to know what makes a senior developer? We know a thing or two. In this episode, the Jabberers sit down with Shem Magnezi, a senior developer at Wilco who shares what he’s learned over his seasoned career. They talk about the do’s and don’ts of being a manager, why small and large companies share this ONE feature, and a HUGE mindset reset that will keep you ahead of the game. “It’s important for people to understand where they can make an impact.” - Shem Magnezi In This Episode1) The KEY differences between smaller and larger companies (and how to hedge your bets when applying) 2) What separates the novice from the expert in a company (and what managers are looking for!) 3) If you’re considering the managerial route, consider THIS risk before going down that road 4) Why THIS mindset shift will make your job easier AND make a larger impact on your companySponsorsVultrRaygun | Click here to get started on your free 14-day trialTop End DevsLinksTHE MYSTERIOUS JOURNEY OF BECOMING A SENIOR ENGINEER PicksAJ- Classless JavaScript (for real this time) with AJ ONeal (and Food!) | MeetupAJ- Creeds of CraftsmanshipFollow CoolAJ86 Live Streams: YouTube: https://youtube.com/coolaj86Twitch: https://twitch.tv/coolaj86Follow Beyond Code: YouTube: https://www.youtube.com/channel/UC2KJHARTj6KRpKzLU1sVxBATwitter: https://twitter.com/@_beyondcode Dan- The Wheel of Time TV series on Amazon Prime Dan- AJ's Tweet Dan- Old Man's War Series Shem- Thinking, Fast and Slow Steve- Twitter: Dad Jokes ( @Dadsaysjokes )Special Guest: Shem Magnezi.Sponsored By:Top End Devs: Learn to Become a Top 5% Developer. Join our community of ambitious and engaged programmers to learn how.Raygun: Raygun now offers Real User Monitoring of Core Web Vitals. Start your 14-day free trial now.Vultr: Tired of explaining your absurdly high Big Tech cloud bills to your boss? Let me tell you about this cloud infrastructure company that’s the talk of the tech world. 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.

15 Helmi 20221h 14min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
herrasmieshakkerit
hyva-paha-johtaminen
ostan-asuntoja-podcast
sijoituskaverit
rss-lahtijat
taloudellinen-mielenrauha
oppimisen-psykologia
kasvun-kipuja
pomojen-suusta
rss-rahamania
rss-huomisen-talous
rss-bisnesta-bebeja
rss-merja-mahkan-rahat
rss-vaikuttavan-opettajan-vierella
rss-h-asselmoilanen
rss-puhutaan-rahasta