小编use*_*959的帖子

我应该测试我的控制器(MVC)吗?

我已经使用TDD几个月了,现在我想学习如何测试我的控制器(MVC).

通过测试每个功能的最小单元来进行单元测试.有时,控制器不小.他们从模型中获取数据并传递给视图.

我应该如何对控制器进行单元测试?我应该模拟控制器的依赖吗?

控制器测试是否考虑集成测试?

谢谢.

model-view-controller tdd integration-testing controller mocking

18
推荐指数
3
解决办法
3983
查看次数

JavaScript Object literal方法:递归调用

是否可以从对象文字中递归调用一个方法?

例如:

(function () {
    'use strict';
    var abc = ['A', 'B', 'C'],
        obj = {
            f: function () {
                if (abc.length) {
                    abc.shift();
                    f(); // Recursive call
                }
            }
        };

    obj.f();
}());
Run Code Online (Sandbox Code Playgroud)

错误:在定义之前使用'f'.

谢谢.

javascript recursion function-literal object-literal

8
推荐指数
3
解决办法
5244
查看次数

使用vfsStream测试move_uploaded_file和is_uploaded_file

我试图用PHPUnit和vfsStream测试move_uploaded_file和is_uploaded_file.他们总是回归虚假.

public function testShouldUploadAZipFileAndMoveIt()
{
    $_FILES = array('fieldName' => array(
        'name'     => 'file.zip',
        'type'     => 'application/zip',
        'tmp_name' => 'vfs://root/file.zip',
        'error'    => 0,
        'size'     => 0,
    ));

    vfsStream::setup();
    $vfsStreamFile = vfsStream::newFile('file.zip');
    vfsStreamWrapper::getRoot()
        ->addChild($vfsStreamFile);

    $vfsStreamDirectory = vfsStream::newDirectory('/destination');
    vfsStreamWrapper::getRoot()
        ->addChild($vfsStreamDirectory);

    $fileUpload = new File_Upload();
    $fileUpload->upload(
        vfsStream::url('root/file.zip'),
        vfsStream::url('root/destination/file.zip')
    );

    $this->assertFileExists(vfsStream::url('root/destination/file.zip'));
}
Run Code Online (Sandbox Code Playgroud)

可能吗?我怎么做?我可以使用PHP代码发布没有表单的vfsStreamFile(或任何数据)吗?谢谢.

php tdd phpunit unit-testing file

5
推荐指数
1
解决办法
1697
查看次数