JSJ 341: Testing in JavaScript with Gil Tayar

JavaScript Jabber

Episode | Podcast

Date: Tue, 27 Nov 2018 11:00:00 +0000

<div class="trix-content"> <div><strong>Panel: </strong></div><ul> <li>Aimee Knight</li> <li>AJ O’Neal</li> <li>Charles Max Wood</li> </ul><div> <strong>Special Guest: </strong><a href="https://twitter.com/giltayar?lang=en">Gil Tayar</a> </div><div>In this episode, the panel talks with <a href="https://twitter.com/giltayar?lang=en">Gil Tayar</a> who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at <a href="https://applitools.com">Applitools</a> 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!</div><div><strong>Show Topics:</strong></div><div>0:00 – <a href="https://www.telerik.com/kendo-ui?utm_medium=social-paid&amp;utm_source=devchattv&amp;utm_campaign=kendo-ui-awareness-jsjabber">Advertisement: KENDO UI</a> </div><div>0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous!</div><div>1:13 – <a href="https://twitter.com/giltayar?lang=en"><em>Gil</em></a><em> talks about where he resides and his background.</em> </div><div>2:27 – Chuck: What is the landscape like now with testing and testing tools now?</div><div>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.</div><div><em>The guest talks about Node, React, tools, and more!</em></div><div>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?</div><div>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.</div><div><em>The guest gives hypothetical situations that people could face. </em></div><div>6:27 – Aimee.</div><div>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...</div><div>7:22 – Aimee: I totally agree and I could go on and on and on.</div><div>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.</div><div>I guess I just need advice in this area, I guess.</div><div>8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought.</div><div>10:20 – Guest: Don’t mock too much.</div><div>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.</div><div>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.</div><div>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.</div><div>13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database.</div><div>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.</div><div>14:17 – Panel: I guess I can see that. I like to do the dumb-way... Support this podcast at — https://redcircle.com/javascript-jabber/donations Advertising Inquiries: https://redcircle.com/brands Privacy & Opt-Out: https://redcircle.com/privacy