lx1036

三刀流
第 2233 位会员
注册于 2015-08-18 15:15:32
活跃于 2017-11-21 21:15:51


Laravel,Angular
专栏文章
最近话题
最新评论
  • Laravel 路由的隐式绑定和显式绑定 at 2017-11-20 15:26:15

    学习了,写的挺不错的。

  • Just for fun——PHP 框架之简单的路由器(1) at 2017-11-20 15:22:39

    写的挺好的,静待后续Route文章。。

  • Laravel Session——session 的启动与运行源码分析 at 2017-11-20 10:32:17

    写的挺详细的,好文章。

  • 写 Laravel 测试代码 (六) at 2017-10-26 10:28:18

    @Summer 恩恩,图片放的有点多了。。

  • 写 Laravel 测试代码 (二) at 2017-10-24 15:39:03

    @Corrida 等你的测试越来越多你就知道啥问题了。

  • 写 Laravel 测试代码 (二) at 2017-10-24 15:36:50

    @Corrida 性能问题,另外不支持nested transaction。

  • 写 Laravel 测试代码 (二) at 2017-10-23 16:54:39

    @Dexter 嗷嗷,明白你的意思了。。是Database::class这个类执行时application还未完全启动,不能使用artisan等。。你这里强行提前启动application,然后migrate表,这样做也可以。。不过报的错误Too many connections应该不是你做法的问题,你看看你的database.php是不是哪里有什么问题。。

  • 写 Laravel 测试代码 (二) at 2017-10-23 16:34:23

    @Dexter 你这个getRandomDBName()是在哪个class里,该class又继承了哪个class,这些你得说清楚才行。另外看到这个initApp()我觉得不应该这么做,不需要重新启动kernel,执行测试时laravel源码里会自己启动application,你这么写那就是你代码放的地方有问题。

  • 写 Laravel 测试代码 (二) at 2017-10-23 15:48:35

    @Dexter 具体你是怎么做的呢,你可以写个提问文章,这样别人还能帮助看看。。或者你可以私信我也行,如果不方便贴代码的话。。

  • Laravel 代码生成工具 at 2017-10-23 09:58:28

    很不错的分享。

  • Laravel Database——Eloquent Model 模型关联初始化源码分析 at 2017-10-22 23:27:54

    写的很详细啊,不错。

  • Laravel 5.2 的一处严重性能问题 at 2017-10-21 21:40:08

    升级laravel版本呗。

  • 写 Laravel 测试代码 (二) at 2017-10-21 21:38:52

    @Dexter 你是说用laravel migrations来构建数据库的?建议最好能再加上数据库图纸。能用上,可以使用migration来构建临时数据库,不过不建议这么做。另外也不建议使用model factory来构建测试数据。

  • 写 Laravel 测试代码 (一) at 2017-09-30 03:28:57

    @Dexter 要是有什么问题可以留言交流。。

  • Laravel 学习笔记之 PHP 反射 (Reflection) (上) at 2017-09-30 03:26:39

    @榆钱斗斗 嗷嗷,抱歉,后来应该是忙别的事情没继续写了。。抱歉,有什么 Reflection 问题可以留言交流交流。。

  • 写 Laravel 测试代码 (一) at 2017-09-29 17:26:29

    @Dexter 对,tablesToReseed 为空是重刷所有表,一般在所有测试运行前只执行一次,后面是哪些表被污染了,就重刷哪些表。。

  • 写 Laravel 测试代码 (一) at 2017-09-29 16:16:24

    @Dexter 嗷嗷, baseline 还没单独写篇文章。。 测试数据是人工写的,放在yaml文件里。。

    1. 嗷嗷,明白你啥意思,是因为可能有多个yaml文件,设计上就是为了分拆的,如叫做 basic.yml 和 extension.yml,那就做成两个 DatabaseSeeder: BasicDatabaseSeeder 和 ExtensionDatabaseSeeder,负责分别填充对应测试数据么。。不建议使用 model factory 来创建fixture,人工写的yaml放入版本控制(任何一个数据修改会影响哪些test case一目了然, git diff就知道了),model factory就不好这样做了(如 model factory fake 的一个name,每次运行可能都不一样,这样不能精细控制),不利于实际操作(可行但不实用)。。

    2. 如果当前test case 污染了几张表, 那就在当前test case中定义 reseedInNextTest = [$table1, $table2] ,这样下一个test case运行前会只重刷下$table1, $table2, 这样性能高;如果当前test case没有污染任何表,不用给reseedInNextTest值,所以叫做reseedInNextTest, 而不是reseedInCurrentTest之类的。。

    关于baseline,就是assert的时候,一般都是hard code那些预期数据(expected data), 如assertSame(['id' => 1036, 'type' => 'credit_card', 'balance' => 1000], $actual_data),这里就是hard code 预期数据,最好不要这么做,而应该是放入json 文件里,叫做baseline。。这样一个逻辑产生的 json response数据(也就是actual data),和这个从json文件里读取的expected data进行比较,任何一个数据不同都可以精细的知道(git diff知道)。。baseline的设计有很多技巧,让测试代码写的更友好,这些天我再写一篇文章聊聊这个。。

  • 写 Laravel 测试代码 (一) at 2017-09-29 12:34:10

    @Dexter 写成数组格式,估计是hard code在代码里,最好不要这么做。。fixtures放在yaml文件岂不是更友好,利于阅读。。baseline 放在json文件里,同样道理。

  • Laravel 这么多人用的项目,为什么没有人数落数落缺点呢 at 2017-09-10 15:41:03

    入门门槛比较高,个人花了很长时间才入门,一把辛酸一把泪的,太难了。。不过Laravel又可以作为学习PHP的好教材,随着深入,学习了很多编码技巧,提高了能力。。这些知识就是钱啊,知识就是金钱!!!还有啥理由拒绝你学Laravel!!!

  • 每天的零碎时间用来干嘛 at 2017-09-10 15:32:36

    零碎时间翻翻微信技术文章啊,很多都不错。还有 刷刷twitter。