Я пытаюсь протестировать xunit и TestDriven.Net для базы данных с использованием SQL CE4.Вот определение сущности:
public class Product
{
private readonly ICollection<Inventory> inventories = new List<Inventory>();
private int id;
public virtual int Id { get; set; }
//public virtual string ProductName { get; set; }
public virtual ICollection<Inventory> Inventories
{
get { return inventories; }
}
}
public class ProductConfiguration : EntityTypeConfiguration<Product>
{
public ProductConfiguration()
{
HasKey(p => p.Id); //Id column of the product is an Identity column
Property(p => p.Id);
}
}
А вот и метод теста:
[Fact]
public void WhenProductAddedItShouldPersist()
{
var product= ObjectMother.Single<Product>();
productRepository.Add(product);
unitOfWork.Commit();
Assert.NotNull(productRepository.One(product.Id));
}
XUnit передает метод, в то время как TestDriven дает сбой с сообщением - 'System.NotSupportedException: значения по умолчанию неподдерживается '.
Удивительно, но если я добавлю другое свойство к объекту (например, ProductName), TestDriven также пройдет.Может ли кто-нибудь дать мне понять, почему это происходит?