如何在phpunit中单元测试不返回值的函数?

时间:2011-04-18 09:11:38

标签: unit-testing phpunit

所以这是我要测试的课程。特别是我只选择了一个我要测试的功能。 var是从classB bar执行某些函数返回的值是来自classC的实例,然后执行一些传递一些变量的函数。对于大多数提示/示例,要测试的函数是返回值。所以我的问题是,如何测试这个特定的功能是否有效?

感谢。

class mA extends A {
    ...
    function doSomething($foo) {
        $var = doStuffFromClassB("hallo");
        $bar = ClassC::instance();
        $bar->doStuffFromClassC($var, $foo, "world");
    }
}

1 个答案:

答案 0 :(得分:6)

如果它被称为doSomething并且它没有通过返回值来指示它的作用,那么您可以使用mock objects来跟踪与其他对象的交互。

参见PhpUnit的documentation on mock objects。我想在这种情况下,您要验证doStuffFromClassC方法是否与doStuffFromClassB中的变量有关。