gpt4 book ai didi

iis - 使用 Coypu 和 SpecFlow 运行 IIS 服务器

转载 作者:行者123 更新时间:2023-11-28 19:54:29 25 4
gpt4 key购买 nike

我已经花了很多时间在谷歌上搜索一些解决方案,但我无能为力!

我有一个 MVC 应用程序,我正在尝试使用 Coypu 和 SpecFlow 对我的 View 进行“集成测试”。但我不知道我应该如何为此管理 IIS 服务器。有没有办法实际运行服务器(第一次启动测试)并使服务器使用特殊的“测试”数据库(例如内存中的 RavenDB)在每个场景后清空(并在后台填充)。

有没有更好或更简单的方法来做到这一点?

最佳答案

我对此也很陌生,所以对答案持保留态度,但因为没有其他人回答过...

Is there a way to actually run the server (first start of tests) ...

您可以使用 IIS Express,它可以通过命令行调用。您可以在任何测试运行之前启动您的网站(我相信您可以使用 SpecFlow 中的 [BeforeTestRun] 属性)通过 System.Diagnostics.Process 调用。

实际的命令行类似于例如

iisexpress.exe /path:c:\iisexpress\<your-site-published-to-filepath> /port:<anyport> /clr:v2.0

... and making the server use a special "test" DB (for example an in-memory RavenDB) emptied after each scenario (and filled during the background).

为了使用特殊的测试数据库,我想这取决于您的数据访问是如何工作的。如果您可以相当轻松地交换内存中的数据库,那么我想您可以做到。虽然我的理解是集成测试应该尽可能接近生产环境,所以如果可能的话,请使用您在生产中使用的相同 DBMS。

我所做的只是在每次测试运行之前,将数据从生产数据库的已知备份恢复到我的测试数据库。我可以在测试运行之前通过命令行/Process 再次调用它。对于我的数据库来说,它是一个相当小的数据集,我可以只恢复与我的测试相关的表,所以这种开销对于集成测试来说并不过分。 (然而,这对于单元测试来说是 Not Acceptable ,在单元测试中您可能拥有模拟存储库或内存中数据。)

关于iis - 使用 Coypu 和 SpecFlow 运行 IIS 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10254443/

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