AppHarbor, Nancy and the "Could not load file or assembly 'Nancy.ViewEngines.Razor.BuildProviders' error"

I’ve built a small application. Just something I threw together with a friend during a hack-session at the client. (It’s a dot voting application and you can try it here, if it’s up :))

As we wanted something out there fast we built it with NancyFx and MongoDB (a first for me) and we host it on AppHarbor with continuous delivery via GitHub. Since all of these (saved Mongo) has served me well in the past I was very surprised when we ran into problem.

When a commit is pushed to AppHarbor the application is compiled and the test (if any) are run. That worked fine for us but then a stage is run that’s called “Site precompilation”.

Image

That failed with the following error:

error ASPCONFIG: Could not load file or assembly ‘Nancy.ViewEngines.Razor.BuildProviders’ or one of its dependencies. The system cannot...

Read More

Between the Chairs Some Thoughts on Backlogs and Things Outside Them

At my current client, we have split our teams into five smaller (8 people) teams. I wrote about that process before, if you want to read about that. One of the big concerns that people have had after the split is how we make sure that we don’t miss stuff that “falls between the chairs” for these teams. I think that’s an overstated problem, but we sat down together and, as always with great people that care, a good solution came out. This post shows our findings, and I’ll try to unfold my thinking on why I thought the problem is overstated as well. Since we’re now brushing on business-critical strategies, I need to keep this post fairly general. I’ll try my best to make it understandable.

The Problem

My client now has five different teams that have separate backlogs and work towards realizing strategically important initiatives...

Read More

Suggested visualization for the SÖS Children Emergency

I have small children (5, 3 and 3 years old). During the winter half of the year that means that they are sick. A lot. No really: like you wouldn’t believe. Ok… like this: last year we had a cold outbreak in october and the next time all three of them was well again was in august. This means that I have from time to time spent some time at the hospital. No - you cannot go during the day since the kids mostly becomes much worse when they have lied down for a couple of hours. Like after sleeping for about 3 hours for example. The people working at SÖS children emergency room is amazing! I very rarely met people that isn’t cooperative and want to do their best, even 0430 in the night. Thanks a bunch for taking care of me and my kids when we have...

Read More

The I am not allowed to do columns like that-problem

Today I talked with someone that was about to create her first ever board, for a team. She was a bit worried as she couldn’t fit her normal workflow on the board. We sat down and discussed for a while and her reasoning and where she got it from made me both sad and upset at the same time.

In this blog post I’ll tell you more and then show why I thought that she had got some really bad advice.

Here’s how our dialog played out:

Me: “What do you mean: I can’t fit our workflow on the board” She: “Well, it doesn’t fit within Scrum or agile. We have an old way of working, I guess it probably doesn’t work for us.” Me: “Really?! Tell me about it: what do you do first” She: “Ok - we have a Inbox or list of stuff, and then it’s Analytics,...

Read More

Nancy.Testing - executable specifications through the full stack, in memory

Nancy Logo

When I showed the code from the last post to a colleague (Hugo Häggmark), he remarked: Nice - but that’s no unit test. And he’s absolutely right.

A unit test should test a unit. The tests in the last post, and the test that Nancy.Testing allows us to easily write, flexes the whole stack of our application. In memory (which is super cool) but the full stack. That’s no unit test.

This can still be VERY useful and in this post I’ll show you how to put one of my favorite tools, SpecFlow, in front of what we wrote in the last post, to get an executable specification. Not only that - I’ll do it in a manner that lets you swap it and hit the HTML page if you wanted to.

As the tradition calls - let’s look in wonder at...

Read More

Nancy.Testing - no hat, no shoes with Simple.Data

This is the fourth (oh my!) post in my series on Nancy.Testing. This time we will leave the Nancy.Testing specific stuff and let our gal meet a friend of mine: Simple.Data(.Testing). By marrying these kids together we will have a really cool full-stack-in-memory-testing-experience (FSIMTE it’s gonna be a thing!).

I’ll supply you with some background to Simple.Data and it’s (awesome) testing capabilities, and I probably have to explain the title of this blog post, but then it’s just code all the way down.

The other posts in the series can be found here:

  1. Intro to testing with Nancy
  2. The Configurable bootstrapper
  3. The Browser and Response objects
  4. Hat and shoeless testing with Simple.Data(this post)
  5. SpecFlow and Nancy

Let’s dive right in a say hello to Simple.Data, if you haven’t met him already.

Simple.Data

Simple.Data is a...

Read More

Nancy.Testing - testing (razor) views

I’m in the middle of writing a blog post series on Nancy.Testing and this bit me a bit (sorry, couldn’t resist myself).

I have written a lot about how to test web-responses and all the great stuff that comes with it, but totally forgot about view. I assumed that it “just worked”. And it does but… well read on. It’s really simple.

Keeping the story short - let’s cut to the code: There’s some really important settings to make here. If you don’t you’ll end up with an (as always in Nancy btw) excellent error message, something like this:

Nancy.ViewEngines.ViewNotFoundException: > Unable to locate view 'FariyTaleFigure' Currently available view engine extensions: sshtml,html,htm,cshtml,vbhtml > > Locations inspected: > views/SimpleDataModuleWithView/FariyTaleFigure-sv-SE,views/SimpleDataModuleWithView/FariyTaleFigure,SimpleDataModuleWithView/FariyTaleFigure-sv-SE,SimpleDataModuleWithView/FariyTaleFigure,views/FariyTaleFigure-sv-SE,views/FariyTaleFigure,FariyTaleFigure-sv-SE,FariyTaleFigure > Root path: C:\Dev\DiscoveringNancyThroughTests\DiscoverNancy.Tests\NancyAndSimpleData.Tests\bin\Debug 

Oh yeah - the two settings you need to do:

  • First install the Razor (or the view engine of choice) NuGet package: Install-Package Nancy.Viewengines.Razor
  • Then set...
Read More

Nancy.Testing - test-dialogues with Requests and Response

Nancy Logo

This is the third post in my series on Nancy.Testing. It will focus a lot on the Browser and the Response object. Together with the Browser (and its ConfigurableBootstrapper), these objects make up the entirety of the Nancy.TestingFramework. Let’s do the logo thing again, shall we?

The other posts can be found here:

  1. Intro to testing with Nancy
  2. The Configurable bootstrapper
  3. The Browser and Response objects (this post)
  4. Hat and shoeless testing with Simple.Data
  5. SpecFlow and Nancy

By now you’re probably just looking for the code so let’s dive right in.

Browser

The Browser object is the one that you use to issue requests to the site you’re testing. Most of the Browser configuration is done through the ConfigurableBootstrapper and let’s not go over that again.

But the Browser has a couple of other tricks up...

Read More

www.marcusoft.net - 800 posts and counting

I’ve just published my 800th post!

Can’t really understand that. I know that some of them haven’t been all that great but there’s some nuggets of information in there. At least for me.

That’s how I started to blog: to make myself write stuff down to remember and formalize my knowledge.

800 posts, six years, 163 000 pageviews. That’s not a lot for many blogs out there but it means a lot to me.

Thank you for reading my blog. Even though I started to write it for myself - comments and reactions is  what kept me going on for 6 years! I cannot promise 6 more but right now I’m on a roll.

Read More

Pickles - Generate SpecFlow Documentation from MSBuild and PowerShell

If you’re doing specification by example or BDD, you will soon realize that the tooling still points towards developers. With that, I mean that Cucumber and SpecFlow allow you to write your executable specifications in plain text, but you still check it into the source repository. This is, of course, a good thing since you’d want to version the specification with your code - but it also effectively hides it and keeps the spec out of reach for any non-developing member of the team.

Make no mistake here: the .feature-file is the master and original. That’s how it should be since it’s versioned together with the code. But we want everyone on the team to be able to read the specifications and see the test result easily. So we generate documentation off the .feature-files.

Pickles is a nice OSS framework that helps you solve this...

Read More