Testing Frenzy – Can We BDD Test the Units?
I'll be honest, I don't do much testing. When it's really necessary and I'm working on big enterprise projects, I do, but in general, my personal projects are usually one-man-army proofs of concept, or...
View ArticleLaravel Dusk – Intuitive and Easy Browser Testing for All!
End to end testing for JavaScript applications, particularly single-page-apps, has always been a challenge. To that end, Laravel released its 5.4 version recently with a new testing library: Dusk. With...
View ArticleSylius and Cutting Your Teeth on TDD
Sylius is an e-commerce application / framework based on Symfony. It boasts 100% code coverage, which is impressive for a PHP application of that size. In this article, we are going to walk through...
View ArticleHow Can I Use Laravel Envoy or Deployer with SemaphoreCI?
Test automation, continuous integration, and continuous delivery are quite widespread in the community now. This brought to life multiple services trying to make the process more enjoyable and less...
View ArticleMake Your Own Social Network, Game Server, or Knowledgebase! – Sourcehunt
It's time for our monthly hunt for new open source libraries to use and contribute to! If you're new to Sourcehunt, it's our monthly post for promoting open source projects that seem interesting or...
View ArticleUpgrading Sylius the TDD Way: Exploring PhpSpec
The post on developing and testing new Sylius features was an introduction to the three types of tests that are used in Sylius - PHPUnit, Phpspec and Behat. In this part, we'll extend some core classes...
View ArticleUpgrading Sylius the TDD Way: Exploring Behat
Last time, we developed some new features on top of Sylius' core to indicate which products and their variants are low on stock and need replenishing. Now, we move on to seeing our changes in the UI,...
View ArticleWeb App Performance Testing with Siege: Plan, Test, Learn
Building a simple web application today isn’t that hard. The web development community is friendly, and there are lots of discussions on Stack Overflow or similar platforms, and various sites with...
View ArticleFunctional Programming with Phunkie: Building a PHP JSON Parser
Phunkie is a library with functional structures for PHP. In this two-part tutorial, Phunkie’s creator Marcello Duarte, head of training at Inviqa, explains how to create Parser combinators using the...
View ArticleFamily CRMs, Guzzle Wrappers and PHP Machine Learning? Sourcehunt!
If you're new to Sourcehunt, it's our monthly post for promoting open source projects that seem interesting or promising and could use help in terms of Github stars or pull requests. It's our way of...
View ArticleWhat Is Snapshot Testing, and Is It Viable in PHP?
Ah-ha moments are beautiful and rare in programming. Every so often, we're fortunate enough to discover some trick or facet of a system that forever changes how we think of it. For me, that's what...
View ArticlePoka Yoke – Saving Projects with Hyper-Defensive Programming
When working in a medium to large team on the same codebase, it can sometimes become hard to understand each other's code and how to use it. Various solutions exist to help with this. For example, you...
View ArticleHow to Write JavaScript-Style Test Watchers in PHP
I didn't start out writing tests for my code. Like many before and since, my "testing" was to write code and refresh the page. "Does it look right?", I'd ask myself. If I thought so, I'd move on. In...
View ArticleRe-Introducing PHPUnit: Getting Started with TDD in PHP
There are a lot of PHPUnit posts on our site already (just check the tag), but it's been a while since we've actually introduced people to it, and the tool has evolved significantly since then. This...
View ArticleHow to Ensure Flexible, Reusable PHP Code with Insphpect
Insphpect is a tool I wrote as part of my PhD project. It scans code for object-oriented programming techniques that hinder code reusability and flexibility. Why? Let me begin with two mundane...
View Article