Blair Conrad

Automatically Sync nupkg and project.json Dependencies

Recently while working on an open source .NET project, I forgot to update the .nuspec after changing a package dependency in my project.json. Of course the resulting nupkg contained the wrong dependency. Fortunately, the package wasn't published in that state, but I didn't want to risk such a thing happening... (read more)

Select May Not be Broken, But it's Bent

Earlier this week at the day job I ran into an interesting problem working with a DataTable. A view that's supposed to show a subset of the table's rows showed nothing. I dropped into the debugger and became even more confused. Visually inspecting the DataTable showed that there was a... (read more)

Hasty Impressions: flake8

A little while ago, I was fixing a LibraryHippo issue in an area of the code that didn't have very good unit test coverage. As part of my fix, I moved one class from the main file to its own file. I integration-tested the fix, deployed the new version,... (read more)

Making a Duck-Dog using FakeItEasy's CallsBaseMethod(s)

A while back, Roman Turovskyy wrote FakeItEasy: Be Careful When Wrapping an Existing Object, an interesting post highlighting some of the difficulties of faking classes (as opposed to interfaces, which by virtue of having no behaviour of their own, are quite a bit more predictable). It's well-written and I enjoyed... (read more)

Limit FakeItEasy extension scanning with a bootstrapper

As of version 1.18.0, a client-supplied bootstrapper can be used to determine which external assembly files are scanned during startup. Last time, I talked about how FakeItEasy extension scanning had improved in version 1.13.0. While this change has dramatically improved startup times in many situations, we recently received a comment... (read more)

Better formatter auto-discovery in FakeItEasy 1.13.0

A few weeks ago, I wrote about the problems that FakeItEasy's assembly scanning was causing while it was looking for user-defined extensions. To recap, FakeItEasy was scanning all assemblies in the AppDomain and the working directory, looking for types that implemented IArgumentValueFormatter, IDummyDefinition, or IFakeConfigurator. This process was quite slow.... (read more)
All posts