unit-testing – 测试第三方库的智能包装器
假设您需要使用不必要的复杂,难以模拟(可能它具有没有虚拟接口的具体类),以及与某些外部资源(如套接字或数据库)集成的不可靠的第三方库.您决定创建“包装器”接口/类以大大简化此库的使用,并允许使用包装器的开发人员继续编写可测试代码.包装器的界面看起来与原始界面完全不同.
我有一些关于如何测试这个包装器的问题. >是否应该在没有外部资源的情况下测试包装器,方法是在可以模拟的坏库上开发方法方法层?
TDD并没有说一切都必须经过单元测试. TDD说你应该先写一个测试,但它不一定是单元测试.
>从集成测试开始 – 它将根据与真实组件通信的包装器测试您的逻辑.这里没有嘲笑.它是集成测试,因为它测试应用程序的多个层,而实际组件仍然使用套接字或数据库访问. 没有必要为包装器编写单元测试.主包装器的功能是包装组件.如果您为包装器编写单元测试,您将测试它在组件上调用方法,但在这种情况下,您回到开头 – 如何模拟组件?如果您只是为包装器调用组件而编写集成测试,那么您正在重新测试该组件(确定这有时很方便,但在正常情况下您不这样做). 我推荐Steve Freeman和Nat Pryce阅读Growing Object-Oriented Software guided by tests. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |