我有两个C#项目,Model和ModelTest。模型由ActiveRecord对象(Hibernate周围的包装器)组成。在ModelTest中,我创建了一个简单的单元测试:
[TestClass]
public class UnitTest1
{
[TestInitialize]
public void Init()
{
Model.Init();
Model.CreateSchema();
}
[TestMethod]
public void TestMethod1()
{
}
}
Model.Init()使用ActiveRecord注册所有类型的程序集Model。 Model.CreateSchema()包装ActiveRecordStarter.CreateSchema(),它调用NHibernate的CreateSchema()。
如果我运行单元测试,这段代码工作正常,但如果我“调试”单元测试则失败。在调试模式下,CreateSchema()中发生异常:
NpgsqlException: 'ERROR: 42P01: table "user" does not exist'
在SQL调用“drop table user cascade”期间似乎引发了异常,如果在运行测试之前数据库为空,这显然会失败。我假设在创建新表之前总是发送丢弃。
关于丢弃查询的结果,Npgsql在调试模式下的行为是否不同?
答案 0 :(得分:1)