C# 与Identity Server-C集成的WebAPI的xUnit测试用例#

C# 与Identity Server-C集成的WebAPI的xUnit测试用例#,c#,asp.net-web-api2,identityserver3,xunit.net,web-api-testing,C#,Asp.net Web Api2,Identityserver3,Xunit.net,Web Api Testing,我试图为一个Web API控制器编写一个xUnit测试用例,该控制器有一个Authorize标记,并与Identity Server 3集成。我试图在上下文中模拟OWIN,但失败了 C#WEB API控制器方法是 [HttpPost] [Authorize] public string GetWelcomeMessage(string str) { if(!string.IsNullorEmpty(str)) { return "Welcome " + str + "!"

我试图为一个Web API控制器编写一个
xUnit
测试用例,该控制器有一个Authorize标记,并与
Identity Server 3
集成。我试图在上下文中模拟
OWIN,但失败了

C#WEB API控制器方法是

[HttpPost]
[Authorize]
public string GetWelcomeMessage(string str) {
    if(!string.IsNullorEmpty(str)) {
        return "Welcome " + str + "!";
    } else {
        return "Welcome Guest !";
    }
}
启动C#代码:


请帮助我如何为上述控制器方法编写测试方法。

不是答案,而是答案:您可以建立一个完整的服务器并测试完全集成(没有IIS dep):请参阅也不是答案,而是答案:您可以建立一个完整的服务器并测试完全集成(没有IIS dep):请参阅
public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        JwtSecurityTokenHandler.InboundClaimTypeMap.Clear();
        app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
        {
            Authority = "https://localhost:1000/core",
            RequiredScopes = new[] { "PMS" } });

        app.UseWebApi(WebApiConfig.Register());
    }
}