2012-10-20 74 views
0

我不知道如何继续在我的数据库中测试我的唯一约束。 我正在使用NHibernate。测试唯一约束

我想检查一下,我放在我的表中的唯一约束是否正在工作......或者更好说我想确保我对数据库中的特定列放置了唯一约束。

我可以很容易地编写集成测试来检查唯一约束是否在数据库上工作(我保存具有相同值的特定列上的两个实体并且它必须抛出异常)。 但我的问题是: ,因为我不能启动数据库生产的集成测试,但只有在我的数据库测试中,我怎么能确定集成测试还可以在生产数据库中工作?这是最佳做法?

回答

0

你不能确定某件事会做你想要的东西而不经过测试。测试不同的设置与测试您希望确保正在工作的设置不同。

想象一下,你说“我的车坏了”,有人回答“不可能,我的车很好”。

确保测试生产中使用的Schemacreation(Nhibernates SchemaExport也许)并测试生产中使用的Schemaupdate过程,其中a)生产数据库的转储或b)生产数据库的SchemaCreation现在的版本