laravel - 在 Laravel 4 中运行测试会产生 "Unknown method User::save()"

标签 laravel laravel-4

我已添加 phpunit 作为 Composer 依赖项,并进行了 composer 更新

我编写了一个简单的测试,如下所示:

$user = new User;
$user->save();

我运行

vendor/bin/phpunit

vendor/bin/phpunit -c phpunit.xml

但我明白了

Undefined method User::save()

同时我可以看到 $user instanceof Eloquent 为 true。

更糟糕 - 如果我call('POST', '/posts'),我也会遇到同样的问题 - 未定义的方法 Post::save()

我错过了什么吗?如何正确运行测试?

相关代码部分:

https://gist.github.com/anonymous/5849706

更新

我将仓库推送到 http://github.com/laravel-test-948320/bearded-bugfixes

实际上将 extends Eloquent 更改为 extends Illuminate\Database\Eloquent\Model 可以解决问题,但我仍然想了解发生了什么。

最佳答案

我重新创建了您的整个测试套件(我在阅读本文时正在设置我的测试套件)。 测试全部成功,所以我想知道您有哪些版本:

  • php 版本
  • composer.json 中的 laravel/framework 版本
  • phpunit 版本

奇怪的是 a call() 也会导致未定义的 save()...

您是否安装了任何其他软件包或使用了命名空间?

关于laravel - 在 Laravel 4 中运行测试会产生 "Unknown method User::save()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17110713/

相关文章:

php - 将 mysql 子查询 + group by 转换为 laravel eloquent

java - 如何创建类似blade.php的jsp模板?

php - Laravel Redis session 驱动程序不起作用

mysql - 使用多个 ID 更新数据透视表

php - 无法更改 Laravel 查找 PostgreSQL SSL 证书的位置

php - laravel 4 发送邮件时如何处理回调

php - RESTful API错误的最佳实践

php - Laravel whereIn 或 whereIn

mysql - Laravel Eloquent 关系(需要建议)

php - 在文本框中从数据库中搜索数据以显示 - Laravel