首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对这类代码进行单元测试?

如何对这类代码进行单元测试?
EN

Stack Overflow用户
提问于 2011-08-13 04:49:20
回答 1查看 34关注 0票数 0

假设我正在做类似以下的事情,我想要测试以确保每个Letter都使用正确的$data进行了初始化。

代码语言:javascript
复制
public someMethod()
{
    for ($i = 0; $i < 5; $i++)
    {
        $letter = new Letter($data);
        $letter->send();
    }
}

我想指出的主要问题是在someMethod()调用中完全封装了5个字母。它们永远不会离开方法的作用域,所以我不能测试返回值,而且有多个返回值,所以依赖项注入似乎不是一个选项。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-13 04:54:39

依赖注入是可能的:

代码语言:javascript
复制
public someMethod($letterFactory)
{
    for ($i = 0; $i < 5; $i++)
    {
        $letter = $letterFactory->create($data);
        $letter->send();
    }
}

(伪代码,因为我不确定这应该是什么语言。)

然后,您的单元测试可以提供生成模拟Letter对象的$letterFactory的模拟实现。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7046150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档