The Diamond Kata is a simple exercise that Seb Rose described in a blog post on recycling tests in TDD. Seb describes the Diamond Kata as: Given a letter, print a diamond starting with ‘A’ with the supplied letter at the widest point. For example: print-diamond ‘C’ prints A B B C C B B […]
Test-Driving Ember.js Models
Introduction Being a developer, you probably own a lot of computer books. In this post, we’ll get started by building an application to store our books. We’ll create a new application using Ember.js CLI and use TDD to fully test our application. We’re going to be building a simplified version of the application DevBookcase. While […]
Platform update on September 22nd
The upcoming platform update is scheduled for September 22nd, 2015.Cassandra has been updated to version 2.2.1.Chromedriver gets an update with version 2.19
A Hands-On Introduction to ScalaTest
Introduction You have to eat your vegetables to grow and become stronger, ‘cause one day you’ll have to program in Scala – moms always say. We don’t pay too much attention to what they’re saying until we have to face the challenge. When you have no background in Java, programming in Scala can be easier. […]
Fine-Grained Control Over Chat Notifications
You can now choose to be notified only after failed builds and deploys, reducing noise in your channels, rooms, and inboxes when continuous delivery…
Introducing Python Continuous Integration on Semaphore
This week, we’re excited to announce that Semaphore now officially supports continuous integration and deployment of your Python applications. Python: Always look on the bright side of your code Python, famously named after the BBC comedy series “Monty Python’s Flying Circus”, is a powerful high-level open source programming language supporting multiple programming paradigms including object-oriented, […]
How to Add Integration Tests to a Play Framework Application Using Scala
Introduction While unit tests usually make up the core of an application’s tests, integration tests are often just as important. An integration test is named as such because it integrates with some other piece of technology. In this tutorial, you will learn how to integrate a Play Framework web application with an HTTP server to […]
Ruby 2.1.7 Available In a Minor Platform Update
We just released a platform update – v1508.1. Chromedriver gets an update with version 2.18 which supports Chrome versions v43-46.
Testing Ansible Roles with Semaphore
Introduction If you are even slightly familiar with configuration management, you have probably heard of Ansible before. In short, Ansible is a configuration management tool that allows you to manage nodes over SSH or PowerShell written in Python. Ansible then uses YAML to express reusable descriptions of systems. The most simplistic usage is sending ad-hoc […]
Platform update on August 25th
The upcoming platform update is scheduled for August 25th, 2015.
Cassandra is now on version 2.2.0. The cassandra-cli tool is deprecated with this release and cqlsh is used instead.
Writing One-Liner RSpec Tests in Rails with Shoulda-Matchers
Introduction Shoulda Matchers provides Test::Unit and RSpec-compatible one-liners that test common Rails functionality. It helps you write tests that would otherwise be much longer, more complex, and error-prone. Using shoulda-matchers for testing simplifies the entire process. Let’s take a look at shoulda-matchers in action, compared to its RSpec-only equivalent. One-Liner ActiveModel Tests Below is an […]
Getting Started with BDD in Laravel
Introduction For many developers BDD is a complicated subject, and getting started with it the right way often does not come easy – especially when you need to implement it into an existing framework. This tutorial aims to help you get a BDD-powered Laravel project up and running in very little time, introducing you to […]
Video Tutorial – Continuous Integration and Deployment for Elixir
In May we had the pleasure of releasing official continuous integration and deployment support for Elixir projects on Semaphore. We wanted to get to know the Elixir community better, so we started talking to developers working with Elixir. We have had the pleasure of working with Josh Adams from Elixir Sips, who has made two […]
Introduction to Writing Acceptance Tests with Cucumber
Introduction In this article, we’re going to look at Cucumber as a tool for writing your customer acceptance tests. More specifically, we’re going to look at how a Cucumber acceptance test might look in practice. After reading this article, you should have a clearer picture of why Cucumber is a good candidate for writing your […]
Python and JRuby 9.0.0.0 Available In a Minor Platform Update
We just released a minor platform update – v1507.1. Bundler is now on version 1.10.6 which fixes the DependencyList issue from the previous version (1.10.5). JRuby 9.0.0.0 is available. Major features include support for Ruby 2.2, POSIX-friendly IO and Process and others. PhantomJS 2.0.0 is available along with a tool for switching between different versions. […]