我有兩個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