gpt4 book ai didi

asp.net - 测试: I *want* to test web.配置

转载 作者:行者123 更新时间:2023-12-04 03:46:53 24 4
gpt4 key购买 nike

我想对我的一个项目进行一些单元测试。这是一个Web项目,除开发副本外,将仅运行此程序的一个副本。

我想编写一些使用web.config的单元测试。我知道通常情况下,测试人员会解决这种外部依赖关系,因为他想根据持有某些值的web.config在不进行测试的情况下测试代码。

但是,我的项目中的web.config应该始终包含某些值,并且我想进行单元测试,如果将它们设置为无效值,则该测试将失败。例如,值之一是SQL连接字符串。

我想编写一个将从web.config中读取连接字符串的测试。我设想测试可以使用连接字符串连接到服务器,并且可能执行一个非常简单的命令,例如SELECT system_user;。如果命令成功执行并返回结果,则测试通过。否则,它将失败。我希望从正在测试的项目中的web.config中读取连接字符串。

当然,ConfigurationManager通常不会在另一个项目中寻找web.config。我可以将web.config从原始项目手动复制到测试项目,但是在每次测试之前我都必须这样做,而且我无法依靠其他任何人来做到这一点。

如何使我的测试项目从另一个项目中读取web.config

最佳答案

听起来您正在尝试验证web.config 中的设置,这是部署级别的问题,与单元测试不同。

单元测试告诉您,您的核心逻辑正在按预期方式运行; 部署验证告诉您该应用程序已正确安装和配置,并且可以安全使用。单元测试对开发人员来说很有意义,部署验证对正在部署应用程序的最终用户或管理员也很有意义。

在这种情况下,我想在我的应用程序中构建一个“系统控制台”。该控制台包含许多自诊断检查,例如:

  • 确保正确配置了连接字符串
  • 确保任何第三方服务均可用并且可以正常运行
  • 确保所有配置设置均有效且不会引起运行时错误(例如,存在路径,Web用户帐户在需要时具有读/写访问权限等)

  • 我强烈建议您考虑将这种配置和部署验证与单元测试套件分开。它不仅可以简化您的工作(因为您不必从另一个项目中加载配置文件),而且还是客户真正非常喜欢的一种工具:)

    关于asp.net - 测试: I *want* to test web.配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2388775/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com