gpt4 book ai didi

c# - 在 vs2012 c# 中使用 sqlite 进行单元测试

转载 作者:太空宇宙 更新时间:2023-11-03 13:39:51 24 4
gpt4 key购买 nike

这是我的代码:

public class Program
{
static void Main(string[] args)
{
exec1();
Console.WriteLine("completed");
Console.Read();
}

public static void exec1()
{
using (IDBConnection conn = new SQLiteConnection("Data Source=test.db"))
{
conn.Open();
IDbCommand command = conn.CreateCommand();
command.CommandText = "select * from user";
IDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader[1]);
}
}
}
}

单元测试:

[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
Program.exec1();
}
}

它在调试时运行良好,当我使用测试类运行它时出现错误。

System.Data.SQLite.SQLiteException: SQL logic error or missing database no such table: user

最佳答案

尝试使用 DeploymentItemAttribute以确保数据库文件本身与测试一起部署。

[TestMethod]
[DeploymentItem("test.db")]
public void TestMethod1()
{
Program.exec1();
}

(旁注,请不要使用您的代码的图像,因为它使得在回答时无法复制/粘贴)。

关于c# - 在 vs2012 c# 中使用 sqlite 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17511742/

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