Avoiding Test Driven Development

Avoiding Test-Driven Development?

Ryan LaRue Articles, Project Management, Testing Leave a Comment

Throughout time, there have been certain questions that will always result in great battles. In one recent throw down, I drew my line in the sand and bravely asserted, “Hell no, a hotdog is not a sandwich!”

There are other more dangerous questions that we’ve all heard, of course… is Mac better than PC? Is Android better than iPhone? Are dogs better than cats? That last question is the silliest of all as the correct answer is so very obvious. Regardless, these intriguing questions have often led to disastrous consequences such as sulking and hurt feelings.

Allow me to add another one to the list: Is Test-Driven Development (TDD) a good practice?

I know, provocative. In this blog, I will discuss test-driven development, why many in our field seem to hate it, and why you should choose to still implement some of its main concepts in your development….

Demystifying Enterprise Cloud Modernization

White Paper: Demystifying Enterprise Cloud Modernization

Keyhole Software Architecture, Articles, AWS, Azure, Cloud, Keyhole Creations, Modernization Leave a Comment

Many IT budgets are consumed by maintaining existing applications and resources, and getting out from under the weight of these existing applications can be daunting—schedule is king, and making time to address modernization comes at the expense of current business needs. However, as the business world moves into the digital space to prepare to meet the next generation of customers and to compete globally, organizations can’t manage their applications in the same way as they have in the past—they must take them to the next level. 

Cloud technologies provide many of the building blocks to help businesses achieve these goals and prepare themselves for the future. This white paper is a solution-agnostic resource to help you understand enterprise cloud modernization and migration and to help you decide which strategy is right for your business. Are your applications ready for the new tomorrow?

Azure App Modernization and Innovation Day by Keyhole Software

[Video] Azure App Modernization & Innovation Day with Keyhole & Microsoft: Remote, 4/15

Keyhole Software .NET, Cloud, Community, Company News, Educational Event, Keyhole, Modernization, Videos 1 Comment

We are excited to announce Keyhole Software’s partnership with Microsoft to sponsor Azure App Modernization and Innovation Day on April 15, 2020.

During this free community event, attendees will have the opportunity to learn about Azure developer services and the latest on industry trends from Azure application development experts.

The agenda for the day will include three presentations with topics such as Azure App Services, Serverless Computing, Microservices & Containers, DevOps on Azure, AI for Developers and more!

Expression Parser with Antlr4

An Antlr4-Based Expression Parser

Lou Mauget Articles, Development Technologies & Tools, Java, Programming, Python 1 Comment

In this blog, we’ll present a simple arithmetic expression parser implemented through an Antlr4 parser generator. It will be able to take in an input string (such as 2+4+-4+-2*10%9*7) to produce the result (-12.0).

You may be thinking, “Great, but what’s the point?” Well, to answer your question, as simple as this example may seem, the principles involved actually extend to use cases such as DSLs, transpilation, and anything else expressible by grammar rules.

This post has two parts. In part 1, we’ll discuss the background components of a parser. In part 2, we’ll cover building the demo and running it. If you already understand grammar parsing, you could skip part one.

Getting Started with Marble Testing

Todd Leininger Articles, Testing, Tutorial Leave a Comment

When working with RxJS observables, it can get a little tricky to unit test. Sometimes it can be hard to get insight into what is going on with the observable in the test. I’ve personally been frustrated numerous times by trying to test my observables with the subscribe and assert method. This is where marble testing can make testing observables easier.

The main advantage of using marble testing is the marble diagrams. With the diagrams, we have a visual representation of our observables and subscriptions so we can see the interactions between the two. Once the basics are understood, you should be able to get observable tests running in no time.

In this post, I will show you how to get started using Marble testing with an example. By the end, you should have enough information to get started on your journey testing observables. My examples are based on an Angular application using Jasmine, but these can also be applied to different testing frameworks for React and other applications.