【发布时间】:2014-10-02 13:51:24
【问题描述】:
如何为调用同一类的其他方法但不返回值的方法编写单元测试? (假设是 PHPUnit。)
例如,假设我有以下课程:
class MyClass {
public function doEverything() {
$this->doA();
$this->doB();
$this->doC();
}
public function doA() {
// do something, return nothing
}
public function doB() {
// do something, return nothing
}
public function doC() {
// do something, return nothing
}
}
你将如何测试doEverything()?
编辑:
我问这个是因为从我读到的内容看来,几乎每个方法都应该有自己的专用 unit 测试。当然,您也有功能和集成测试,但可以说是针对特定的例程(不一定在每个方法级别上)。
但是,如果几乎每个方法都需要自己的 unit 测试,我认为对上述所有方法进行单元测试将是“最佳实践”。是/否?
【问题讨论】:
-
是否会考虑单元测试?有人可能会争辩说,单元测试不如其他类型的测试重要,例如集成测试,在这种情况下,您可能更擅长进行测试。
-
听起来不错!关于为功能/集成和验收测试编写单元测试的内容是否有经验法则?我的印象是,几乎每个方法都应该有自己的单元测试,无论它们是否也被更广泛的功能/集成测试和/或验收测试覆盖。
-
也看看here。你应该有 4 个单元测试。
-
漂亮,谢谢。虽然您发布的线程肯定很有帮助,但我认为拥有这个专门显示用于完成我所追求的 PHPUnit 语法的线程没有任何害处? (假设我或其他人可以弄清楚:-)
标签: php unit-testing testing phpunit