目前,我正在尝试首次将单元测试应用于项目.出现了两个问题:
如果多个测试相互依赖,这是不好的做法吗?在下面的代码中,几个测试需要其他测试的结果是积极的,这是一般的最佳实践吗?
您与SUT依赖的模拟物体相距多远?在下面的代码中,'Router'取决于'Route',它取决于'RouteParameter'.嘲笑还是不嘲笑?
下面的代码是测试我的'Router'对象,它接受路由Router::addRoute($route)并通过URL路由URL Router::route($url).
class RouterTest extends PHPUnit_Framework_TestCase {
protected function createSimpleRoute() {
$route = new \TNT\Core\Models\Route();
$route->alias = 'alias';
$route->route = 'route';
$route->parameters = array();
return $route;
}
protected function createAlphanumericRoute() {
$route = new \TNT\Core\Models\Route();
$route->alias = 'alias';
$route->route = 'test/[id]-[name]';
$parameterId = new \TNT\Core\Models\RouteParameter();
$parameterId->alias = 'id';
$parameterId->expression = '[0-9]+';
$parameterName = new \TNT\Core\Models\RouteParameter();
$parameterName->alias = 'name';
$parameterName->expression = '[a-zA-Z0-9-]+';
$route->parameters = array($parameterId, $parameterName);
return $route;
}
public function testFilledAfterAdd() { …Run Code Online (Sandbox Code Playgroud)