我正在运行集成测试。在开始测试之前,我删除了数据库并重新创建。第一次测试是成功的。但在第二次测试开始时,我得到一个异常:运行集成测试时抛出SqlException
SetUp:System.Data.SqlClient.SqlException:无法删除数据库“测试”,因为它当前正在使用中。
Сode:
[TestFixture]
class Class1
{
public SqlConnection Repository;
[SetUp]
public void LocInit()
{
Repository = new SqlConnection(@"Data Source=.\SQLEXPRESS; Integrated Security=true;");
Repository.Open();
Repository.Execute("USE master;");
Repository.Execute("DROP DATABASE Test;");
Repository.Execute("USE master; CREATE DATABASE Test;");
Repository.Execute("USE Test;");
}
[Test]
public void Test1()
{
using (var repository = new SqlConnection(@"Data Source=.\SQLEXPRESS; Integrated Security=true;"))
repository.Execute("USE Test; SELECT 10");
}
[Test]
public void Test2()
{
using (var repository = new SqlConnection(@"Data Source=.\SQLEXPRESS; Integrated Security=true;"))
repository.Execute("USE Test; SELECT 10");
}
[TearDown]
public void LocalTearDown()
{
Repository.Dispose();
}
}
为什么我得到这个例外?
这是跨越多个固定装置吗? –
看到这里的'主人'吓坏了我的生活地狱。 –