设置集成测试环境

2024-01-26

我想在我的集成测试中使用设置环境WebApplicationFactory。默认情况下,env 设置为Development。我的网络应用程序工厂的代码如下所示:

public class CustomWebApplicationFactory<TStartup> : WebApplicationFactory<TStartup>
    where TStartup : class
{
    protected override void ConfigureWebHost(IWebHostBuilder builder)
    {
        builder.UseSolutionRelativeContentRoot(AppContext.BaseDirectory);

        base.ConfigureWebHost(builder);
    }

    protected override IWebHostBuilder CreateWebHostBuilder()
    {
        return WebHost.CreateDefaultBuilder()
            .UseStartup<TStartup>()
            .UseEnvironment("test"); // i want to launch `test` environment while im
                                     // testing my app
    }
}

当我开始调试时Startup类(当我运行测试时)我仍然得到Development环境:

public Startup(IHostEnvironment env)
{
    var builder = new ConfigurationBuilder()
        .SetBasePath(env.ContentRootPath)
        .AddJsonFile("appsettings.json", false, true)
        .AddJsonFile($"appsettings.{env.EnvironmentName}.json", true)
        // env.EnvironmentName is set to 'Development' while i set it to 'test'
        // in my WebApplicationFactory
        .AddEnvironmentVariables();

    Configuration = builder.Build();
}

如何设置环境WebApplicationFactory适当地?或者也许只有在启动时才改变测试策略我依赖appsettings files?


我遇到了同样的问题,并为我解决了以下问题:

protected override void ConfigureWebHost(IWebHostBuilder builder)
{
     builder.UseEnvironment("Test");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置集成测试环境 的相关文章

  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 将所有依赖项从 .Net Standard 库复制到 .Net Framework 控制台应用程序

    在 net Framework 4 6 控制台应用程序中使用 net 标准项目后 net 标准项目的依赖项不会复制到输出目录中 这会导致缺少 dll 的运行时错误 对于引用的项目 复制本地 属性已经成立 一种可能的解决方案是在控制台应用程序
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 使用 PEG.js 解析缩进级别

    我基本上有同样的问题Python 风格缩进的 PEG https stackoverflow com questions 4205442 peg for python style indentation 但我想得到更多关于这个答案 http
  • 如何检查变量是否在 Octave 中定义?

    当编写加载数据的脚本时 每次等待它加载都是浪费时间 如何检查变量是否已定义 您可以使用existOctave 中的函数来完成这项工作 它可用于检查给定名称作为变量 内置函数 文件或目录是否存在 在您的情况下 要检查变量是否存在 您可以使用如
  • C ++在for循环中初始化2个不同的迭代器[重复]

    这个问题在这里已经有答案了 可能的重复 我可以在 for 循环的初始化中声明不同类型的变量吗 https stackoverflow com questions 8644707 can i declare variables of diff
  • 如何覆盖 javascript 本机对象的内置方法

    假设我们有窗口对象的警报方法 我想用漂亮的警报框来增强它 另外 我想保存现有的警报方法 以便我们可以在应用程序结束后切换回来 类似这样的东西 但它在 Firefox 控制台中抛出错误 window prototype alert funct
  • pip 可以与 Visual Studio 中的 Python 工具一起使用吗?

    我正在与一些同学合作构建一个 python 应用程序 并希望使用 Visual Studio 智能感知的 训练轮 他们在 mac 和 linux 上使用 python 所以理想情况下我们的源代码控制存储库将仅包含 py我们编写的源文件 以及
  • 在 Tensorflow 中实现暹罗网络

    我想实现一个连体卷积神经网络 其中两个图像在卷积层中共享权重 然后在通过全连接层之前进行连接 我尝试过一种实现 但它似乎是一个 黑客 解决方案 特别是 我已将张量上的操作定义为简单的 Python 函数 并且我不确定这是否允许 这是我尝试过
  • 有没有可靠的方法从 postgres 间隔中提取年份?

    在 Postgres 中 如果我执行以下操作 select now created at from my table 我得到这样的结果 854 days 12 04 50 29658 然而 如果我这样做 select age now cre
  • 我什么时候需要下载.Net core运行时?

    From this https dotnet microsoft com download sdk链接 我们可以下载Core SDK和Runtime 据我了解 SDK 包含运行时 但在什么情况下我应该下载 Net Core Runtime
  • 如何使用 :: 让 vimomnicompletion 支持 php 类方法

    使用 vim php ctags 我可以获得相当好的 php 自动完成功能 但有一个部分确实让我困惑 让 vim 自动完成类方法 这是一个例子 完整的方法是 CVarDumper dumpAsString 如果我输入以下内容 我希望它完成
  • 这个周末用 php 吗?

    我想用 php 度过这个周末 我通过代码获取当前日期 start date date Y m d H i s time 如何根据当前日期获取当前周末 谢谢你 PHP 斯特托时间 http fr php net strtotime函数很神奇
  • 无法通过java客户端获取Hadoop作业信息

    我使用 Hadoop 1 2 1 并尝试通过 java 客户端打印作业详细信息 但它没有打印任何内容 这是我的 java 代码 Configuration configuration new Configuration configurat
  • 为服务指定 SEND(共享)意图过滤器

    我正在尝试过滤和处理意图android intent action SEND我的其中一项行动Services 我在我的AndroidManifest xml
  • TensorFlow 形状 (?,) 是什么意思?

    我得到的 TensorFlow 张量的形状为 这个答案 https stackoverflow com a 40953146 5353461说 意味着维度在图中并不固定 并且在运行调用之间可能会有所不同 什么是 意思是与尾随逗号连用吗 文档
  • 在 MATLAB 中预分配内存 à la std::vector::reserve(n)

    So reserve当您大致了解尺寸要求时 此功能非常有用 有谁知道在 MATLAB 中预分配数组的类似方法吗 我对像下面这样的黑客 但有效 方法并不真正感兴趣 x zeros 1000 1 for i 1 10000 if i gt nu
  • R 将文本文件导入为数据框列表

    我有一个很长的txt文件 组织如下 RANGE P1 H1 P3 H4 P10 H72 P14 H76 RANGE P1 H1 P10 H8 P11 H8 我想在 R 中阅读它 创建一个数据帧列表 其中 RANGE 和 界定每一项的内容 因
  • 使用元标记的 IE 10 兼容模式

    基本上我有这个网站 在所有版本的 IE 的兼容模式 IE7 下都运行得很好 我为此在 IIS 中使用了元标记 现在的问题是 IE10 其中文档模式已更改为 IE 标准 但浏览器模式并未更改为兼容 您能指导我找到解决方案吗 元标记会为您更改文
  • 多播委托 - 多个类从 iOS 中的 UI 控件接收通知

    据我了解 UITextField 等 UI 控件通过其委托通知客户端交互 事件 该委托被定义为支持所需协议的类 我经常发现自己想要在多个类中接收 UI 事件的通知 因此希望支持多播 例如 为一个 UI 控件指定多个委托 我非常确定没有任何
  • 创建基于编译器的“字典”的非静态版本,其中键是类型

    有一个非常简单的技巧可以创建一个类似字典的结构 其中键是类型 该结构就像一个Dictionary
  • 柯里化是如何工作的?

    总的来说 我对 Haskell 和 FP 很陌生 我读过许多描述柯里化是什么的文章 但我还没有找到它实际工作原理的解释 这是一个函数 a gt a gt a 如果我做 4 7 该函数取4并返回一个函数 该函数接受7并返回11 但会发生什么4
  • 设置集成测试环境

    我想在我的集成测试中使用设置环境WebApplicationFactory 默认情况下 env 设置为Development 我的网络应用程序工厂的代码如下所示 public class CustomWebApplicationFactor