如何测试我的客户端程序对 Web 服务器错误的反应?
我有一个基于 LibCurl 的客户端程序。我遇到过这样的情况:有时服务器上的程序运行时间超过了配置的 IIS 超时时间。然后 IIS 终止该程序并向客户端返回 502 错误状态。
我已向客户端添加了代码来捕获此问题。现在,我需要找到一种方法来证明这种改变会起作用。
我无法可靠地重现该问题,因此没有好的测试用例。
有什么建议吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这以一种非常简单的方式向您展示了如何将工作进程嵌入到 NUnit 夹具中。
然后您可以提供任意数量的错误。
这是一个示例装置:
这是服务器:
一个警告:
注意:Microsoft.VisualStudio.WebHost 命名空间包含在文件 WebDev.WebHost.dll 中。该文件位于 GAC 中,但无法从 Visual Studio 中添加对此程序集的引用。
要添加引用,您需要在文本编辑器中打开 .csproj 文件并手动添加引用。
查找包含项目引用的 ItemGroup 并添加以下元素:
引用:http://www.codeproject.com/KB/aspnet/test-with-vs-devserver-2.aspx
This shows you, in a very simple way, how to embed a worker process in an NUnit fixture.
You can then serve up as many errors as you like.
Here is a sample fixture:
And here is the server:
One caveat:
NOTE: The Microsoft.VisualStudio.WebHost namespace is contained in the file WebDev.WebHost.dll. This file is in the GAC but it is not possible to add a reference to this assembly from within Visual Studio.
To add a reference you will need to open your .csproj file in a text editor and add the reference manually.
Look for the ItemGroup that contains the project references and add the following element:
Reference: http://www.codeproject.com/KB/aspnet/test-with-vs-devserver-2.aspx
我见过很多在测试期间启动私有 Web 服务器的测试,私有 Web 服务器提供了预期请求和响应的脚本。被测客户端的位会访问专用 Web 服务器,并且测试会验证预期的客户端行为。
您可能不需要一个成熟的 IIS,只需要一个能够提供正确响应的功能即可。选择一种语言,您将找到一个用于组装简单 Web 服务器的库(可能还有演示)。
I've seen plenty of tests that spin up a private web server for the duration of the test, with the private web server provided with a script of expected requests and responses. The bit of the client under test hits the private web server, and tests verify the expected client behavior.
You probably don't need a full-blown IIS, just something that acts enough like one to deliver the right responses. Pick a language, and you'll find a library (and probably demos) for putting together a simple web server.