php – 单元测试插座
问候堆叠花,
我有一个存在通信抽象层的应用程序.该层的每个实现(称为连接器)为我的应用提供了与连接的对等体(例如,通过HTTP,TCP套接字,UDP套接字等)交换数据的方法. 例如,我有一个Connector_Tcp类来实现诸如读,写,打开和关闭之类的方法. 我需要为该类写一个单元测试.我知道单元测试应尽可能少的依赖.不幸的是,在这种情况下,依赖关系是一个系统资源:一个socket;我不能绕过它. 我需要一些关于单元测试这个课程的建议. 在我看来,即使这个类正在使用系统资源,它应该被测试为所有其他连接器,以确保它符合我的应用程序建立的标准. 我担心这样的事情是有约束力的碰撞(地址已经在使用中的错误)和阻塞.我不希望单元测试失败,因为端口已被系统服务使用,与我的应用无关. 我在我的日子做了很多单元测试,但是没有一个依赖于这样一个低级别的资源是套接字. 您将如何处理单元测试基于套接字的类?为每个单元打开一个插座?使用单个服务器类,然后使用手动定义的套接字资源连接到它并测试它? 我想我的问题真的是如下: 如果单元测试失败…我怎么知道: >套接字已被另一个进程使用; 我需要单元测试才能测试方法是否已经正常运行…
我已经写了一个类似的抽象层,尽管在C/C++中,我有机会对基于套接字的代码进行单元测试.我不知道这里有什么特定的东西,所以我只是提供一些通用的建议.
>在您的安装程序中创建一个服务器套接字,将其关闭.根据您是否支持连接到服务器套接字的许多客户端,您可能希望在测试方法中执行该部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |