【发布时间】:2020-07-05 23:37:48
【问题描述】:
您好 Phoenix LiveView 奇才! ????
上下文
我们有一个基本的 LiveView 计数器应用程序:https://github.com/dwyl/phoenix-liveview-counter-tutorial
代码很简单:/live/counter.ex
该应用程序按预期运行,请参阅:https://live-view-counter.herokuapp.com
测试文件为:test/live_view_counter_web/live/counter_test.exs
我们一直在尝试在测试中调用handle_info/2 函数。
所以我们的项目中有未经测试的代码。这是不可取的。
见:https://codecov.io/gh/dwyl/phoenix-liveview-counter-tutorial/src/master/lib/live_view_counter_web/live/counter.ex
我们已经阅读了官方文档https://hexdocs.pm/phoenix_live_view/Phoenix.LiveViewTest.html
但一直无法理解如何做到这一点。我们缺少什么?
我们真的希望在我们的“真实”项目中使用LiveView,但我们希望确保我们的LiveView 应用程序经过完全测试。
问题
我们如何编写一个测试来调用handle_info/2函数?
【问题讨论】:
-
您能否详细说明here 不清楚的地方?
-
@AlekseiMatiushkin 感谢您的快速回复。不清楚如何设置测试文件然后调用
handle_event/3函数。但是从重新阅读文档来看,我们似乎没有直接调用函数,而是render_click(view, :inc)??(谢谢您帮助我们实现了这一目标...) -
handle_event/3是消息到达 LV 进程的回调,这意味着人们永远不想通过直接调用来测试它。 -
更新了问题以反映测试
handle_info/2函数的挑战。
标签: elixir phoenix-framework functional-testing phoenix-channels phoenix-live-view