toplan / laravel-sms

:iphone::heavy_check_mark:A phone number validation solution based on laravel
MIT License
839 stars 174 forks source link

在单元测试的时候,能不能把短信内容写入Log? #10

Closed Ye-Ting closed 8 years ago

Ye-Ting commented 9 years ago

通过添加一个 LogAgent 把短信内容写入 Log ,并返回成功?

toplan commented 9 years ago

请问你是说的是写入文本log日志吗?laravel-sms目前是将日志记录到数据库的

Ye-Ting commented 9 years ago

我这边在做单元测试,每次跑测试的时候,都会发一条短信,如果我把账号取消掉的话,这个测试用例就跑不通了,所以在想能不能做一个类似于 Mailer 的 driver 为log 的方式? 还有我怎么在测试环境控制短信的暂停短信的发送 类似于 Mail "Pretend" ?

xujif commented 9 years ago

我觉得扩展包只能写在agent目录下是个不好的设定,何不增加class选项方便扩展

toplan commented 9 years ago

@Ye-Ting LogAgent的提法非常有意思哈,我理解你的意思了。pretend() 这个假装发送短信的方式和LogAgent在测试作用上会否有冲突呢?

toplan commented 9 years ago

@xujif 你好,请问你说得是代理器放在agents目录下吗?还是说js扩展使用不方便呢?

Ye-Ting commented 9 years ago

@toplan 应该不会有冲突的, 在 mailer 实现的 pretend 是在 Drive 之前做的判断, 如果判断了 pretend 他就不会去找 Drive 了。具体的我还没细看,我觉得 mailer 的实现和我们 sms 实现应该差不多。 需求也差不多,毕竟是 laravel 模块的一部分,差不多仿造应该不会有问题的

Ye-Ting commented 9 years ago

laravel-sms 的扩展写的不是很方便。 https://github.com/sleeping-owl/admin 这个项目的扩展真的是相当简单

toplan commented 9 years ago

@Ye-Ting 谢谢分享 :+1: ,,我考虑的是在html标签中加入指令或data数据来达到js中的配置输入效果,从而提升使用灵活性

Ye-Ting commented 9 years ago

我是拿 laravel 做 Json Api 所以一般 html 这些配置我做不了。 我们能将情况考虑的更加通用一点么?

我看过我们的手机号验证机制,是通过 session 来做的,但来一般的 API 是无状态的,所以我切换成了 Cache 来实现, 还有我们的验证机制对数据库结构也是有要求的,如果结构修改,例如,一个对用对应多个手机号的 Case 来说,就不能使用了。

xujif commented 9 years ago

@toplan 这样不便于ps-r

toplan commented 9 years ago

已新加LogAgent 290de9036d8ee9ac33e2969512b95aa6021d94dc