我们正在构建一些“ sociable”单元测试(大于“单元”的测试,但明确地不调出外部服务或数据库)。我想知道如果将来的开发人员编写一个确实可以调用的测试,那么C#中是否有一种方法可以使测试运行程序引发异常。
[不幸的是,我们的系统使用了多种调用外部服务的方法-RestSharp调用,HttpClient调用,WCF服务调用以及SQL Server。如果只是一个,我会模拟它并引发异常,但是由于我可以调用的地方太多,我想知道是否有办法立即阻止所有这些。 (知道SQL Server可能是不同的野兽)
一种方法可能是阻止防火墙中的测试运行程序可执行文件的所有传出流量。
在CI机器上,为测试运行程序可执行文件添加规则,例如“ nunit3-console.exe”,并将其设置为阻止所有传出流量。
这不会阻止人们在本地运行愚蠢的测试,但是希望在CI服务器上运行时测试会失败。