我有两个C#项目Model和ModelTest。模型由ActiveRecord对象组成(Hibernate包装)。在ModelTest中,我创建了一个简单的单元测试:在调试时,NHibernate/Npgsql在CreateSchema时抛出异常UnitTest
[TestClass]
public class UnitTest1
{
[TestInitialize]
public void Init()
{
Model.Init();
Model.CreateSchema();
}
[TestMethod]
public void TestMethod1()
{
}
}
Model.Init()用ActiveRecord注册所有类型的装配模型。 Model.CreateSchema()封装ActiveRecordStarter.CreateSchema(),它调用NHibernate的CreateSchema()。
如果我运行单元测试,此代码工作正常,但如果我“调试”单元测试失败。在调试模式,在CreateSchema()发生异常:
NpgsqlException: 'ERROR: 42P01: table "user" does not exist'
唯一的例外似乎是SQL调用“下拉表中用户串联”,这显然失败如果数据库在运行测试之前空期间提出的。我假设在创建新表之前始终发送放置。
在调试模式下,Npgsql的行为与关于丢弃查询的结果有何不同?
你有没有找到这个答案?我遇到了同样的问题... – Farray 2011-07-29 05:44:01
不幸的是,我坚持使用没有调试模式的运行单元测试.. – Tarnschaf 2011-07-29 12:00:30