1

我将环境更改为使用 sqlite 作为驱动程序在 basespec 上进行测试并存储在内存中。

function it_should_validate()
    {
        // Create the user
        $data = array('email' => 'test@gmail.com', 'password' => 'password', 'remember' => false);

        $this->validate($data)->shouldBe(true);
    }

每当我运行测试时,如何将信息插入测试数据库?现在测试失败了,因为它总是返回 false;

4

1 回答 1

1

您正在尝试做的是集成测试。

PhpSpec 是一个单元测试工具。它非常强调隔离测试。这意味着,创建的唯一对象是正在测试的对象。它的所有依赖项都应该被存根或模拟。

换句话说,您编写的规范不应该涉及数据库。

您没有展示您尝试规范的类的完整示例,因此很难建议您的规范应该是什么样子。

建议阅读:

于 2014-09-08T16:27:37.683 回答