问题描述
我正在尝试在 VSCode 中创建合同测试。我有这个 C# 测试类:
using xunit;
namespace PactTests.PactTests
{
public class ConsumerTest : IClassFixture<ConsumerPact>
{
private IMockProviderService _mockProviderService;
private string _mockProviderServiceBaseUri;
public ConsumerTest(ConsumerPact data)
{
_mockProviderService = data.MockProviderService;
_mockProviderService.ClearInteractions(); //NOTE: Clears any prevIoUsly registered interactions before the test is run
_mockProviderServiceBaseUri = data.MockProviderServiceBaseUri;
}
[Fact]
public void OKResponse()
{
//Arrange
_mockProviderService
.Given("user token")
.UponReceiving("GET user token")
.With(new ProviderServiceRequest
{
Method = HttpVerb.Get,Path = "/token/1234",Headers = new Dictionary<string,object>
{
{ "application/json,text/plain,*/*" }
}
})
.WillRespondWith(new ProviderServiceResponse
{
Status = 200,object>
{
{ "Content-Type","application/json" }
},Body = new //NOTE: Note the case sensitivity here,the body will be serialised as per the casing defined
{
token = "bearer"
}
}); //NOTE: WillRespondWith call must come last as it will register the interaction
var consumer = new Somethingapiclient(_mockProviderServiceBaseUri);
//Act
var result = consumer.GetSomething("tester");
//Assert
Assert.Equal("tester",result.id);
_mockProviderService.VerifyInteractions(); //NOTE: Verifies that interactions registered on the mock provider are called at least once
}
}
}
当我运行命令 dotnet test
时,出现以下错误:
$ dotnet 测试 ConsumerTest.cs(1,7):错误 CS0246:找不到类型或命名空间名称“xunit”(您是否缺少 using 指令或程序集引用?)[/Users/me/git/pact/consumer/PactTests .csproj] ConsumerTest.cs(5,31):错误 CS0246:找不到类型或命名空间名称“IClassFixture”(您是否缺少 using 指令或程序集引用?)[/Users/me/git/pact/consumer /PactTests.csproj] ConsumerTest.cs(7,13):错误 CS0246:找不到类型或命名空间名称“IMockProviderService”(您是否缺少 using 指令或程序集引用?)[/Users/me/git/pact/consumer/PactTests .csproj] ConsumerTest.cs(17,6):错误 CS0246:找不到类型或命名空间名称“FactAttribute”(您是否缺少 using 指令或程序集引用?)[/Users/me/git/pact/consumer/PactTests .csproj] ConsumerTest.cs(17,6):错误 CS0246:找不到类型或命名空间名称“Fact”(您是否缺少 using 指令或程序集引用?)[/Users/me/git/pact/consumer/PactTests .csproj]
这是我的 .csproj
文件:
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<packagereference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" />
<packagereference Include="Microsoft.VisualStudio.TestPlatform" Version="14.0.0.1" />
<packagereference Include="NUnit" Version="3.10.1" />
<packagereference Include="NUnit3TestAdapter" Version="3.10.0" />
<packagereference Include="PactNet" Version="2.0.17" />
<packagereference Include="PactNet.OSX" Version="2.0.17" />
</ItemGroup>
</Project>
我添加了 <packagereference Include="xunit" Version="2.4.1" />
但它没有任何区别。我该如何解决?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)