gpt4 book ai didi

SQLite 在内存单元测试中显示 "no such table error"而不是真正的错误消息

转载 作者:行者123 更新时间:2023-12-02 23:20:57 28 4
gpt4 key购买 nike

我有一个简单的基于 NHibernate 的应用程序,我正在内存中 SQLite 对其进行单元测试。每当测试失败时,例如由于重复的实体,单元测试都会失败并显示错误“不存在这样的表 TABLE_NAME”错误,而不是显示原始错误。

如果我切换到真实文件数据库,所有测试(通过或失败)都会被正确评估。这怎么可能?我该如何纠正这个问题?

最佳答案

这通常是由于未将 SchemaExport 与内存数据库一起使用而导致的。 Sqlite内存数据库依赖于连接,因此每个连接都有自己的数据库。

new SchemaExport(config).Create(false, true); // creates database, fill it and throws away

而不是

using (var session = sessionfactory.OpenSession())
{
new SchemaExport(config).Execute(false, true, false, session.Connection, null);

// use session in test
}

关于SQLite 在内存单元测试中显示 "no such table error"而不是真正的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10841003/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com