[英]Unit test with sqlite in vs2012 c#
這是我的代碼:
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邏輯錯誤或缺少數據庫沒有此類表:user
嘗試使用DeploymentItemAttribute來確保數據庫文件本身與測試一起部署。
[TestMethod]
[DeploymentItem("test.db")]
public void TestMethod1()
{
Program.exec1();
}
(旁注,請不要使用代碼的圖片,因為這樣在回答時無法復制/粘貼)。
您使用什么單元測試框架?
可能不會將test.db復制到在測試框架下運行代碼的位置。
編輯:看屬性可能是MSTest。 我從未使用過它,但是MSTest有一些稱為部署項目的東西。 您必須定義作為測試一部分的外部文件(此處為test.db)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.