Introduction In a previous tutorial, we explained how to couple Cucumber with Protractor tests. This combination serves well for testing user interactions with your AngularJS applications, as well as creating living documentation right into your tests. As your testing needs grow, it’s crucial to develop a testing infrastructure that is scalable and easy to maintain […]
Category Software Engineering
Designing Testable Lambda Functions
Post originally published on https://claudiajs.com/. Republished with author’s permission. Introduction Effective test automation is one of the corner stones of modern software quality, but for many teams out there, moving to AWS Lambda creates major test automation challenges. With no control over infrastructure, and an almost magical execution environment, it can be difficult to judge […]
Getting Started with Node.js and LoopBack
Introduction As APIs become more and more ubiquitous, it becomes increasingly important than ever that your application successfully delivers production quality APIs to your users in a fast and efficient manner. Node.js and LoopBack are here to help you do just that. LoopBack is a highly-extensible, open-source Node.js framework that enables you to create dynamic […]
Node.js Versions Used in Commercial Projects, 2016 Edition
Following up on our last week’s post for Ruby, we’re presenting the second annual report of Node.js version usage in commercial JavaScript projects on Semaphore (see 2015 numbers here). We think it’s always interesting to see what people are using to get the job done, and projects actively using continuous integration can be a solid […]
Build and Deploy a Java Web Application with Docker and Semaphore
Introduction This tutorial demonstrates how to build, test, deploy, and monitor a Java Spring web application, hosted on Apache Tomcat, load-balanced by NGINX, monitored by ELK, and all containerized with Docker. The project is based on a sample Java Spring application, Spring Music, available on GitHub from Cloud Foundry. The Spring Music application, a record […]
Ruby Versions Used in Commercial Projects, 2016 Edition
Which versions of Ruby do people use when building apps at work? This is the question we’ve been answering for fun for four years now, based on data about private projects that are tested and deployed on Semaphore.
Using RSpec Metadata
Post originally published on https://rossta.net. Republished with author’s permission. A useful feature of RSpec is the ability to pass metadata to tests and suites. You may already be familiar with how Capybara uses the :js option to enable the JavaScript driver. describe “a javascript feature”, :js do # tests run against the Capyabara.javascript_driver end Capybara […]
Video Tutorials on Setting up Continuous Integration and Deployment with Semaphore
We at Semaphore are all about continuous learning and sharing knowledge — our team spends a lot of time learning from various online and offline sources, as well as sharing our knowledge by writing and editing tutorials on TDD and BDD best practices, which we publish in the Semaphore Community. One of the YouTube channels […]
Test-driven Development of Go Web Applications with Gin
Introduction This the second part of the tutorial on building traditional web applications and microservices in Go using the Gin framework. In the first part of the tutorial, we set up a project and built a simple application using Gin that displayed a list of articles and the article details page. This part of the […]
Mocks and Monkeypatching in Python
Post originally published on http://krzysztofzuraw.com/. Republished with author’s permission. Introduction In this post I will look into the essential part of testing — mocks. First of all, what I want to accomplish here is to give you basic examples of how to mock data using two tools — mock and pytest monkeypatch. Why bother mocking? […]
Testing Components in Angular 2 with Jasmine
Introduction In this article, we’ll look at how to unit test components built with Angular 2. Components are the centerpiece of Angular 2. They are the nucleus around which the rest of the framework is built. We’ll explore what a component is, why it is important, and how to test it. Prerequisites Before starting this […]
How to Test in Go
Post originally published on http://www.calhoun.io. Republished with author’s permission. If you have spent any time learning how to program, you have likely run across many references to testing. Everyone talks about testing, and everyone seems to unanimously agree that you should be testing, but what exactly does that entail? In this post, I will try […]
Continuous Deployment for Static Sites with Docker, AWS, and Ansible
Introduction Static sites are popular because they are easy to work with, highly performant, and easily deployed. Static sites are also a nice test bed for continuous deployment practices due to their simplicity. This tutorial demonstrates how to use Docker, Middleman, Ansible, and AWS to build a continuous deployment system so your site’s infrastructure and […]
Testing Angular 2 HTTP Services with Jasmine
Introduction Angular.js was designed with testability in mind, so it was easy to write tests in it. Years passed and Angular 2 came out, completely rewritten from the ground up. They followed the same guidelines, only syntax changed, but writing the tests remained easy. It is important to write tests for our code — by […]
Isolate Side Effects in Ruby
Post originally published on http://www.rubypigeon.com. Republished with author’s permission. What Are Side Effects? Side effects are any observable change caused by calling a function. For a function to be free of side effects, it must do nothing other than provide a return value. These are examples of side effects: Writing to a file, Printing output […]