Matt provavelmente está no caminho certo. Você definiu um valor padrão para sua coluna - no entanto, isso só terá efeito se você realmente inserir algo em sua tabela no banco de dados.
Quando você faz um teste de unidade, como você diz, você provavelmente inicializa a variável DateTime para algo (ou não - então será DateTime.MinValue, que é 01/01/0001) e então você envia isso para o SQL Server e esse valor está fora do intervalo válido para um DATETIME no SQL Server (como o erro indica claramente).
Então, o que você precisa fazer é adicionar uma linha ao seu teste de unidade .NET para inicializar a variável DateTime para "DateTime.Today":
DateTime myDateTime = DateTime.Today
e, em seguida, insira-o no SQL Server.
OU:você pode alterar sua instrução SQL INSERT para que ela não insira um valor para essa coluna - parece que agora, ele faz isso (e tenta inserir essa - para SQL Server - data inválida na tabela). Se você não especificar essa coluna em seu INSERT, a coluna padrão de
getdate()
entrará em ação e inserirá a data de hoje na coluna. Marco