我有一个 MVC 项目的解决方案,该项目在核心项目之上包含一个服务项目。
我刚刚添加了一个单元测试项目并引用了核心和服务 - 我正在尝试测试服务。
我在测试中有一个基本的调用:
public class CrudTests
{
private readonly SetServices _setService = new SetServices();
[TestMethod]
public void TestMethod()
{
_setService.CreateSet("Test Set", "Test Set Details", null);
最终失败,因为测试无法连接到数据库。我的配置有这个:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\;Initial Catalog=Project.Services.Tests;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\Project.Services.Tests.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
我尝试通过创建数据库 Project.Services.Tests 然后运行,但我得到了这个:
消息=数据库 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\App.Services.Tests.mdf' 已经存在。选择不同的数据库名称。无法将文件“C:\PROJECTS\App\App\Services.Tests\bin\Debug\Services.Tests.mdf”附加为数据库“App.Services.Tests”。Source=.Net SqlClient 数据提供程序 ErrorCode=-2146232060 Class=16 LineNumber=65536 Number=1801 Procedure="" Server=.\ State=2 StackTrace:
我尝试删除数据库并让测试完成它,我得到了这个:
发生文件激活错误。物理文件名“\Project.Services.Tests.mdf”可能不正确。诊断并更正其他错误,然后重试该操作。
我怎样才能让它正常工作?