Introduction Continuous Integration/Delivery has gained widespread acceptance in the minds of developers, and has become an important aspect of the quick release cycles in the software industry. However, adopting continuous integration is not going to bring any benefits, if we don’t make sure that our build system can run in a CI environment with multiple […]
Category Software Engineering
Elements of a Continuous Deployment Workflow
Continuous delivery is a broad set of software development practices designed to ensure that every change is rapidly deployable to production, while the system performs its business function uninterrupted and as intended. Continuous deployment is a particular instance of continuous delivery in which all source-code changes that pass an automated test suite are automatically deployed […]
Testing React Components with Enzyme and Mocha
Introduction React has become an increasingly popular and widely-used JavaScript application tool for developing web applications. Popular frameworks like Angular.js, Ember.js, and Backbone have traditionally been go-to choices for front-end application development, but React came onto the scene in 2013 and provided front-end engineers with another substantial alternative. React was developed at Facebook in part […]
Developing a Test-Driven Front-End with Ember.js
This tutorial is the fourth part of our series on test-driving an Ember.js application. Here’s a quick recap of our last tutorial. We first started building out our Ember application using a route plus a template. We then transitioned our work to a component, which is where we’ll start from in this tutorial. We weren’t […]
Continuous Integration with Bitbucket Has Just Got Better
Following the changes in the latest iteration of the Bitbucket API, we have improved how Semaphore interacts with your Bitbucket repositories to make your continuous integration and deployment workflow better.
Test-Driving Ember.js Components
In the last tutorial in this series, we created an API using Rails 5 (which just went to Beta 1). In that tutorial, we mostly focused on the server, but we also considered what we were going to do with the Ember application we built in the first tutorial in the series. We recommend that […]
Testing Mixins in Isolation with Minitest and RSpec
Introduction Mixins are a very powerful feature in Ruby, but knowing how to test them is sometimes not too obvious, especially to beginners. This stems from mixins’ nature – they get mixed into other classes. In this tutorial, we will revisit what mixins are, identify mixin types, and learn how we can test mixins with […]
Testing Python-Requests with Betamax
Introduction Requests is one of the most downloaded and widely used Python libraries published on PyPI. Testing Requests, however, is something that most people attempt to avoid, or do only by using mocks and hand-written or hand-copied response data. VCRpy and Betamax are two libraries that avoid using mocks and hand-written or hand-copied data, and […]
Stubbing External Services in Rails
Intro Integrating external services in web applications has been around for a long time now. We often use various OAuth providers such as Facebook, Twitter, GitHub and other alternatives for user signup, depending on our needs. Other times, things are more complicated. Maybe we are using Stripe or PayPal for online payments, or maybe we […]
Test-Driven APIs with Phoenix and Elixir
Introduction Starting with a new technology can be difficult. It usually takes some time to understand the components and the way they work together. In this tutorial, we’re going to create an API, using Test Driven Development (TDD) to guide us through its implementation. You’ll learn how the feedback provided by our test helps save […]
Building and Deploying Microservices with AWS Lambda and Semaphore
AWS Lambda is a service from the Amazon Web Services family which runs your code based on various events. When you create a Lambda function and deploy your code to it, AWS Lambda takes care of provisioning and managing servers that run your code. This tutorial will show you how to develop a Node.js Lambda […]
Fast Continuous Delivery of Microservices with AWS Lambda
AWS Lambda is an AWS service that runs your code in response to events or HTTP requests. Lambda works through functions, which are basically microservices written in Java, Python or Node.js. When you create a Lambda function and deploy your code to it, AWS Lambda takes care of provisioning and managing the backend infrastructure. To […]
Node.js Version Usage in Commercial Projects, 2015 Edition
We’ve been publishing Ruby version reports in commercial projects for three years now, and given recent events in Node community
How to Deploy a Node.js Application to Elastic Beanstalk with Semaphore
Introduction With AWS Elastic Beanstalk, you can quickly deploy and manage applications in the AWS cloud without having to worry about the infrastructure that supports those applications. AWS Elastic Beanstalk automatically handles all the details of application version history, capacity provisioning, load balancing, scaling, and application health monitoring. This tutorial explains how to set up […]
Best Practices for Spies, Stubs and Mocks in Sinon.js
Introduction Testing code with Ajax, networking, timeouts, databases, or other dependencies can be difficult. For example, if you use Ajax or networking, you need to have a server, which responds to your requests. With databases, you need to have a testing database set up with data for your tests. All of this means that writing […]