我发现 stub 和 mock 在测试中非常有帮助。但我想知道一件事。我想一个例子会清楚地表明这一点。
Class A {
public function isOk() {
// some work
}
public function iAmDepend() {
if ($this->isOk()) {
// do work
}
}
}
class TestA {
public function testIsOk() {
// Test itOk here
}
public function testIAmDepend() {
mock(A)->method(isOk)->return(true);
// tests for iAmDepend
}
}
做这样的事情是明智的吗?测试类的存根方法。或者它可能违反了一些规则?
PS。我无法重构代码