我正在使用 Spring.net 和 NHiberante (HibernateTemplate) 来实现我的 DAO。
我还有一些从“AbstractTransactionalDbProviderSpringContextTests”扩展而来的集成测试。
DI 工作正常,所有测试都通过了,但有时即使不应该通过,它们也会通过。
例如,如果我的 hbm.xml 文件有这样的错误:
<class name="Confluence.Domain.User" table="THIS TABLE DOES NOT EXIST">
测试失败,但如果错误是这样的:
<many-to-many
class="Confluence.Domain.User"
column="THIS COLUMN DOES NOT EXIST"/>
测试通过默默地隐藏错误。
我正在使用 SetComplete() 对其进行测试并检查数据库的更改,但我认为这种测试的整个想法不是这样做。
谁能告诉我如何解决这个问题?
非常感谢你!
@Ben:如果我必须实际执行 SQL 脚本来查看它们是否有效,那么使用这种 Spring 测试有什么好处?