Matt jest najprawdopodobniej na dobrej drodze. Zdefiniowałeś domyślną wartość dla swojej kolumny - jednak będzie to obowiązywać tylko wtedy, gdy faktycznie wstawisz coś do swojej tabeli w bazie danych.
Kiedy robisz test jednostkowy, jak mówisz, najprawdopodobniej inicjujesz zmienną DateTime do czegoś (lub nie - wtedy będzie to DateTime.MinValue, czyli 01/01/0001), a następnie wysyłasz to do SQL Server a ta wartość jest poza poprawnym zakresem dla DATETIME na SQL Server (jak wyraźnie stwierdza błąd).
Musisz więc dodać wiersz do testu jednostkowego .NET, aby zainicjować zmienną DateTime na „DateTime.Today”:
DateTime myDateTime = DateTime.Today
a następnie wstaw go do SQL Server.
LUB:możesz zmienić swoją instrukcję SQL INSERT tak, aby nie wstawiała wartości dla tej kolumny - wygląda na to, że teraz to robi (i próbuje wstawić tę - dla SQL Server - nieprawidłową datę do tabeli). Jeśli nie określisz tej kolumny w INSERT, domyślna kolumna to getdate()
uruchomi się i wstawi dzisiejszą datę do kolumny.
Marek