HTTP server for unit tests in Delphi

梦想的初衷 提交于 2019-12-05 04:18:12

I use Indy's TIdHttpServer to serve stuff in the same process.

This approach allows me to check that the requests coming in are correct, as well as checking the behaviour from the client end.

Also, you can individually set up the server on a testcase by testcase basis, making your unit tests easier to understand (meaning that you don't have a piece of the 'test' somewhere else).

You may use unit test / DUnit to construct automatic integration tests. Say, you HTTP components as http client make calls to a Web service. You may make your own mock Web service, or just use any public Web service, like one of those from Google or Amazon. So you just need to create a Google or Amazon developer account, and consume some basic service functions for testing.

If you're testing SOAP services, use SoapUI to stand up a "mock" service based on your WSDL. You can have it return a variety of responses (either sequentially, or use some simple scripting to match responses to the request contents.) I've done this by matching the "request ID" (just a GUID) in my request sent from the DUnit test, to a response in the SoapUI. It's a simple xpath query to match them up.

You can have it return "canned" errors/exceptions, and of course when it's not running, you'll have the "nobody's home" test case.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!