测试设置: Minitest + Capybara-poltergeist + phantomjs。
当我开始在无头模式下运行测试时,推送器会将消息记录到控制台。有时候这些消息太多了,我错过了测试写的日志。我尝试通过执行以下操作忽略这些消息,但这没有帮助。
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, stdout: nil, phantomjs_logger: nil)
end
推送消息示例 -
Pusher:状态改变:连接 - >连接
Pusher:状态已更改:已初始化 - >连接
Pusher:正在连接:{“transport”:“ws”,“url”:“wss://ws.pusherapp.com:443 / {删除此处的文字} 2?protocol = 7& client = js& version = 3.0.0&安培;闪速=假“}
Pusher:状态改变:连接 - >连接
Pusher:发送的事件:{“event”:“pusher:subscribe”,“data”:{“auth”:“{删除此处的文字}”,“频道”:“私人设施 - {删除文字这里}}}
Pusher:事件recd:{“event”:“pusher_internal:subscription_succeeded”,“data”:{},“channel”:“private-facility- {删除此处的文字}}
Pusher:没有关于私人的回调 - {删除此处的文字} for pusher:subscription_succeeded
Pusher:状态已更改:已初始化 - >连接
有关如何停止登录控制台的任何输入?
答案 0 :(得分:0)
如果为Pusher.log
属性分配了一个函数,Pusher JavaScript库只会记录到控制台:
Pusher.log = function(msg) {
console.log(msg);
};
为了确保在测试中不进行日志记录,您应该确保没有代码写入类似于上面示例的内容。在运行测试之前,确保您只需null
Pusher.log
属性。
有关详细信息,请参阅Pusher JavaScript logging上的文档。