Pester: Unit Testing for PowerShell

Pester is a BDD inspired testing framework for PowerShell just like Jasmine is on the JavaScript side and RSpec is on the Ruby side for example (I do believe that JavaScript is one of the best comparisons for PowerShell though, it being a scripting language and all). This blog post is meant as a quick […]

, , , ,

2 Comments

Making use of TeamCity’s NuGet capabilities: Part 2

This is the second part of my explorations into TeamCity’s NuGet capabilities. In the first part of the series we talked about packaging and publishing. I briefly mentioned that TeamCity also has the ability to install packages and that it probably required a post of its own. This is that post. Enjoy! Installing Packages When […]

, , ,

6 Comments

Making use of TeamCity’s NuGet capabilities

TeamCity is a product with many strengths. One of them is the built-in support for working with all aspects of NuGet. This post is a summary of my experiences in that area. Configuration Let’s start with setting up NuGet on our TeamCity server. From the admin view, locate the integrations section. And from there, go […]

, ,

1 Comment

Using TeamCity to enable NuGet package restore for solution-level packages

Problem What’s a solution-level package? A solution-level package is one that installs a tool or additional commands for the Package Manager console, but does not add references or content to any projects in your solution. For example, the psake package installs PowerShell scripts you can use to automate your build process. A package is considered […]

,

4 Comments

Using TeamCity for ASP.NET development: Backup

This is the fourth part of a blog post series on using TeamCity continuous integration server from JetBrains for asp.net development. Here are the links to all the parts of the series: Installing/Configuring TeamCity for use with IIS MSBuild requirements for web package publishing Deploying via Web Deploy Backup (pre-deploy) [this post] 4. Backup (pre-deploy) […]

, , , , ,

6 Comments

ExpandoObject: exposing properties to the TypeDescriptor

Consider the following unit test: I’ve highlighted the interesting parts which are: creating an ExpandoObject with two properties (Foo and Bar) using TypeDescriptor.GetProperties to fetch them There should be two properties but sadly this unit test returns: The problem is that the ExpandoObject, internally, uses a dictionary of string and object (IDictionary<string,object>) to store the […]

, , , , ,

1 Comment

SpecFlow: using environment specific settings (part 2)

In a previous blog post I discussed how to “push” environment specific settings into the execution of a SpecFlow scenario. This post is more an “end-to-end” example of a situation where this might be handy to use. It will also give me a chance of showing off a another favorite of mine, TeamCity. The details […]

, , ,

1 Comment

SpecFlow: using environment specific settings

One of the things I commonly see people struggling with is how to “push” environment specific settings into the execution of a SpecFlow scenario. This post will provide some background into the problem and later present my solution to the problem. Background/Problem Sometimes you might have a scenario (or several) that you wish to execute […]

, , ,

Leave a comment

Using GitFlow with Visual Studio and SourceTree

I’m a Microsoft guy. I like their products, development tools, the whole lineup really. However, a couple of months ago I started using git (or github if I should be completely honest…but that’s based on git) for version control. Coming from a Microsoft environment with first Source Safe and later on TFS (or TFVC really) […]

, , ,

6 Comments

TeamCity Pro Tip: Why you should separate your deployment code from your application code

This post is really one of those “summary of best practices” articles that I’ve learned by using TeamCity build server from JetBrains for quite some time now. In Theory Below is an image that might be pretty common. We have an application. We have some deployment scripts. We would like to push the application to […]

, ,

1 Comment