首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual Studio 2015 Azure API应用程序上的IntelliTest错误?

Visual Studio 2015 Azure API应用程序上的IntelliTest错误?
EN

Stack Overflow用户
提问于 2015-10-15 14:51:39
回答 1查看 320关注 0票数 0

当使用"Azure应用程序(预览)“模板在默认/空白的IntelliTest应用程序上运行ASP.net时,IntelliTest找不到任何需要测试的东西。我不确定这是由设计,一个bug,还是只是还不支持。有人知道解决办法吗?

IntelliTest输出窗口显示“已退出的监视进程找不到要运行的任何测试(-1013-0xfffffc0b)”。我已经确定该项目的目标是x86。

如果我使用"Web“模板,IntelliTest将正确地生成测试结果(在下面的步骤4中,选择Web而不是Azure )。我现在已经在两台机器上验证了上述行为。

复制:

  1. 开放与2015年企业
  2. 文件->新项目
  3. 在模板-> Visual C# -> Cloud下,选择"ASP.net Web应用程序“
  4. 选择名称位置并单击确定,在下面的屏幕上选择"Azure应用程序(预览)“并单击”确定“。

  1. 当项目加载时,导航到"ValuesController“。
  2. 右键单击默认Get()方法中的任何一个,然后选择"Run IntelliTest“,如下所示

  1. 打开输出窗口,从“显示输出”下拉列表中选择"IntelliTest“并观察上面的消息(...could找不到要运行的测试)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-03 11:42:43

最后,将这个问题归结为Swashbuckle和intelliTest之间的一些不兼容( api应用程序使用Swasbuckle来为API生成Swagger )。

要解决这个问题,请在App项目的SwaggerConfig.cs文件夹中打开App_Start,并删除从IOperationFilter继承的以下类。这样做的缺点是在“傲慢的文档”中没有将您的params连接在一起,这一点我还是不太喜欢(默认模型更好地从其中读取一长串参数)。

代码语言:javascript
复制
internal class IncludeParameterNamesInOperationIdFilter : IOperationFilter
{
    public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
    {
        if (operation.parameters != null)
        {
            // Select the capitalized parameter names
            var parameters = operation.parameters.Select(
                p => CultureInfo.InvariantCulture.TextInfo.ToTitleCase(p.name));

            // Set the operation id to match the format "OperationByParam1AndParam2"
            operation.operationId = $"{operation.operationId}By{string.Join("And", parameters)}";
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33151749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档