Attention: We are retiring the ASP.NET Community Blogs. Learn more >

sfeldman.NET

.NET, code, personal thoughts

  • Cortex BDD Test Framework

    Back in 2008 I joined Cortex. I was lucky to join a dynamic and growing development team, not afraid of experimenting and pushing the boundaries of Test-driven development. We were on the learning curve from classical state and interaction-based testing to something bigger. Terry and I started to look into ways to reduce the friction and repetition of test initialization and mocking framework usage (RhinoMocks at that time). This was the beginning of the BDD (behavior-driven development) test framework at Cortex that has since evolved into our standard for all of the projects.

  • Software Quality

    Lately I’m involved in a side project for my son’s school web site. It is a simply imagebasic thing and my part was to observe that the school gets a final result that is possibly to maintain and grow when needed. Decision was made to go with a specific “service provider” that would create the solution. It was agreed on ASP.NET 3.5 – simple.

  • Automate It!

    Development, QA, Deployment, Production Support, Infrastructure,… it doesn’t matter what aspect of software you are affiliated with. Automation is your best friend. And if it is not, you are living a worse nightmare without yet realizing it.

  • NoSQL is Gaining Weight

    Looks like more people are looking into OODB. This post I found recently is experimenting with db4o, as well as has a healthy discussion in the comments section. This is ties into what I felt and thought a while ago after reading a book on db4o.

  • Generating AssemblyInfo with NAnt Gotcha

    As a part of the build script I tend to generate AssemblyInfo.cs in order to inject assembly information dynamically, such as version, name, etc. One gotcha I ran into lately, is when you have internals that are testable and need to generate that information from NAnt as well.

  • NHibernate Session Factory

    Each time we use NHibernate, we have to share production and semi-production code for NHibernate SessionFactory. Production code is the portion that is actually responsible to generate the SessionFactory on startup. Semi-production code, is the code that generates SessionFactory for purpose of schema extraction (SQL statements we use to generate DB). This time around, the smell had to be removed. Having identical code duplicated not only risky, but also becomes intolerable once it grows beyond a single line. This is our new SessionBuilder, that leverages the same code to generate SessionFactory for run-time purpose and schema generation at “design” time.