Coolthing Of Theday

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 7 February 2013

Unit Test Stored Procedures? Here's one example...

Posted on 17:24 by Unknown

Gunnar Peipman's ASP.NET blog - Using database unit tests in Visual Studio

Stored procedures in SQL Server database can be unit tested using Visual Studio database unit tests. It may seem as simple thing to do at first but when you start writing tests then you will find out it’s more complex task to do then expected. In this posting I will introduce database testing with Visual Studio tools.

NB! In this posting I will use Visual Studio 2010 as I was not able to make database unit tests run on Visual Studio 2012. VS2012 has also these tests available but it seems to me that this support is still raw and waits for stabilization and fixes.

Are they actually unit tests?

I am not very sure that these tests can be called unit tests. They are different than unit tests we are used from applications development. As these tests may also test integrated components in database I would rather call these tests as database tests. Considering these tests to be wider than unit tests is okay because same mechanism allows us write very different tests for databases.

Why database testing?

Databases are often more complex beasts than just some tables, keys and indexes. Often databases contain complex queries, stored procedures and user-defined functions. SQL Server has also support for CLR libraries. All these database objects contain some logic that is usually very important.

Systems that make heavy use of stored procedures are good targets for database tests. Actually there are two ways how to test these databases:

  • regular integration tests against some service or set of classes that make data available to system,
  • database tests.

Database tests seems better option to me because then we don’t include code from other layers to tests and therefore bugs in other layers cannot affect the results of database tests.

..."

Every six months I get this "want" to unit test my SQL and go about re-discovering what the current state of it is. This post reminded me that it's getting to be close to that six month period...

Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in Development, SQLServer, UnitTesting, VisualStudio | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Mr. 7,000! This is my 7,000th post...
    Before this post; After; 20 visits between taking these snaps? Oh wait, that's probably me searching for past related posts....
  • Windows Management Framework 4.0 (PowerShell 4, PowerShell ISE, Management OData, WMI, etc.) now available
    Keith Hill's Blog - PowerShell 4.0 Now Available You can get PowerShell 4.0 for down level operating systems now via the WMF 4.0 d...
  • "Windows Server Essentials Media Pack" (DNLA Stream, HTML5 and Dashboard Media stuff)
    Microsoft Downloads - Windows Server Essentials Media Pack This pack enables the media streaming functionality for Windows Server 2012...
  • Rad Gate Post... Get your Red Gate Post here...
    simple talk - Melanie Townsend - Get a copy of the Red Gate Post We recently put together a newspaper of some of the best articles fr...
  • Learning Log Parser Studio in two parts... (From Install to Library Ninja)
    Kary Wall - Getting Started with Log Parser Studio - Part 1 & Getting Started with Log Parser Studio - Part 2 Hopefully, if you a...
  • Viasfora - Your new favorite Visual Studio Text/*ML Editing Extension?
    Winterdom - Introducing Viasfora A couple of days ago, I unveiled Viasfora , my latest attempt at building a decently packaged extensi...
  • [Hardware Review] It's been a Haswell Summer... Haswell/Harris Beach Intel SDS Ultrabook Review - Part 3
    Are you all tired of it yet? Have you heard it often enough already? Well too bad! Haswell is Battery Love! MUHAHAhahahahaha.... There! ...
  • "Windows Server [2012 R2]: The Best Infrastructure to Run Linux Workloads"
    In the Cloud - What’s New in 2012 R2: Enabling Open Source Software Part 4 of a 9-part series . ... There are a lot of great s...
  • Want the world's best Science Fiction And Fantasy Library? Come to LA... The Eaton Collection @ UC Riverside
    CBS Los Angeles - The Eaton Collection: The Best Science Fiction And Fantasy Library Science fiction and fantasy fans rejoice and take...
  • Windows 8.1 Store App Paper Prototyping Templates
    Jason Roberts Don't Code Tired   - Paper Prototyping Templates for Windows 8.1 Store Apps These are updated paper prototyping templ...

Categories

  • .Net
  • 3DPrinting
  • AFeedYouShouldRead
  • Agile
  • ALM
  • Amazon
  • Amiga
  • Analytics
  • Android
  • ASP.NET
  • Azure
  • BigData
  • bing
  • Blogging
  • Book
  • BookReview
  • BUILD
  • C
  • C#
  • C++
  • Career
  • Cat
  • cheatsheet
  • ClickOnce
  • Cloud
  • ComputerHardware
  • css
  • Data
  • DBA
  • DependencyInjection
  • Deployment
  • Design
  • Development
  • devops
  • DVCS
  • ebook
  • EDD
  • Education
  • EnterpriseLibrary
  • EntityFramework
  • Exchange
  • Expression
  • gadget
  • Game
  • GIT
  • Google
  • Government
  • Hadoop
  • hardware
  • HardwareReview
  • HaswellReview
  • HTML5
  • Humor
  • IE
  • IEExtension
  • IfAllElseFails
  • IIS
  • ILMerge
  • Image
  • Infographic
  • interview
  • InversionOfControl
  • Java
  • Javascript
  • Kinect
  • LightSwitch
  • LINQ
  • Linux
  • LosAngeles
  • Lucene
  • Lync
  • MEF
  • Metro
  • MicrosoftOffice
  • MicrosoftOutlook
  • Mono
  • MVC
  • MVVM
  • NetMon
  • NLP
  • NoSQL
  • NuGet
  • OData
  • OneNote
  • OpenXML
  • Paint.Net
  • Personal
  • Photosynth
  • Physics
  • portable
  • Poster
  • PowerShell
  • Preparedness
  • Presentation
  • Prism
  • PrivateCloud
  • RegEx
  • RemoteDesktop
  • Reporting
  • RIAServices
  • Science
  • ScienceFiction
  • Scratch
  • Scrum
  • ServiceBus
  • SharePoint
  • Silverlight
  • SimiValley
  • SPA
  • Space
  • SQLServer
  • Storyboard
  • Surface
  • SVG
  • SystemAdministration
  • T4
  • TeamBuild
  • TeamFoundationServer
  • TechEd
  • Training
  • TypeScript
  • UnitTesting
  • UnityApplicationBlock
  • Utility
  • Veteran
  • VirtualMachine
  • Visio
  • VisualBasic
  • VisualStudio
  • WCF
  • Web X.X
  • Webcast
  • WebFeed
  • WebMatrix
  • Windows
  • Windows7
  • Windows8
  • Windows8.1
  • WindowsHomeServer
  • WindowsLiveWriter
  • WindowsPhone
  • WindowsServer
  • WinRT
  • WiX
  • WMI
  • WOPI
  • WPF
  • XAML
  • XBox360
  • XboxOne
  • zombie

Blog Archive

  • ▼  2013 (500)
    • ►  December (12)
    • ►  November (61)
    • ►  October (65)
    • ►  September (38)
    • ►  August (47)
    • ►  July (75)
    • ►  June (39)
    • ►  May (40)
    • ►  April (42)
    • ►  March (39)
    • ▼  February (42)
      • How Microsoft and others, empowers you with PowerS...
      • Awake Await, Async Asink... Think before you async...
      • Shaping up Office 2013 with these 300 Visio icon s...
      • Today's LINQPad fun, SelectExcept! (a tip on selec...
      • Helping a sick system get better... Five Windows A...
      • Helping you Hadoop with "Hadoop illuminated" the f...
      • Robert continues to guide us in the right directio...
      • IE10 RTW now available for Windows 7 and Windows S...
      • LINQToWiki (yes, even Wikipedia)
      • Sacha say IOC you! Sacha Barber presents his Barba...
      • Robert's "One Stop VS Update Shop" guide to all th...
      • Windows 8 + Kona + Steve = Itinerary Hunter
      • ClickOnce, Windows 8 and SmartScreen (If you're us...
      • Wak-A-PST with Microsoft Exchange PST Capture 2.0
      • Excel with Excel without Excel... Seven Excel/XLS ...
      • The All-In-One Framework goes Metro... errr... umm...
      • Modernize your WPF app's with the Modern UI for WP...
      • The Expression death march continues... Expression...
      • Kevin's Tips To Technology Presentation Perfection...
      • The HTML5 Quick Start For Greg's (err... Dummies.....
      • Find your inner App Hero with these two new Window...
      • It's a Rap! The Surface Pro Rap, that is...
      • Microsoft Message Analyzer better in Beta 2 (Gantt...
      • Note to Los Angeles Metro (aka subway) riders: Don...
      • Adobe Photoshop Source Now Available! (For the 199...
      • Microsoft SQL Server Licensing Question? There's a...
      • Wiki-wiki, here's some popular PowerShell add-ons...
      • Table Per Type(TPH) Inheritance in Entity Framewor...
      • Gaming up a story with the PowerPoint Game Design ...
      • Glima!... Gilma v3 is a .Net 4.0 update...
      • "Official" Surface Getting Started Guide (free 68 ...
      • You've heard of ASCII Art? How about DNS Art!?
      • Adding a 4th row of Windows 8 Start Screen tiles t...
      • O'la! As in Ola Hallengren's SQL Server Backup, In...
      • One download of wonderful [Samples] for Windows 8....
      • Composing Maintainable XAML Apps, the nearly two h...
      • Unit Test Stored Procedures? Here's one example...
      • Intro to MVVM in four easy episodes....
      • Learn how to learn, creatively with the free MIT L...
      • Microsoft TechEd North America 2013, New Orleans, ...
      • How portable is your assembly? Check it with the P...
      • Removing the SkyDrive Pro Explorer Context Menu it...
Powered by Blogger.

About Me

Unknown
View my complete profile