gpt4 book ai didi

c# - 断言 C#(社交)单元测试不使用 HTTP

转载 作者:行者123 更新时间:2023-11-28 21:35:36 37 4
gpt4 key购买 nike

我们正在构建一些“sociable”单元测试(大于“单元”但明确不调用外部服务或数据库的测试)。我想知道如果 future 的开发人员编写了一个确实调用的测试,C# 中是否有一种方法可以让测试运行器抛出异常。

不幸的是,我们的系统使用了多种调用外部服务的方法——RestSharp 调用、HttpClient 调用、WCF 服务调用以及 SQL Server。如果它只是一个,我会 mock 它并抛出异常,但因为我有很多不同的地方可以调用,我想知道是否有办法同时阻止所有这些地方。 (知道 SQL Server 可能是另一种野兽)

最佳答案

一种方法是在防火墙中阻止测试运行程序可执行文件的所有传出流量。

在 CI 机器上,为测试运行程序可执行文件添加规则,例如“nunit3-console.exe”,并将其设置为阻止所有传出流量。

这不会阻止人们在本地运行愚蠢的测试,但测试在 CI 服务器上运行时有望失败。

关于c# - 断言 C#(社交)单元测试不使用 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59148357/

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