我有一个返回一些超文本标记语言的viewFunc。我想验证它的返回值。我使用elm-test编写了一个测试用例。
viewFunc |> Expect.equal (span [] [ text "hello world"]) 只要我的测试用例通过,它就能正常工作。但是,当它失败时,我会得到以下错误:
<internals>
╷
│ Expect.equal
╵
<internals>这一点帮助都没有。怎样才能得到更有意义的错误消息?有没有一种方法可以把Html节点串起来?I looked around in the documentation of ,但没有找到任何东西。
发布于 2021-11-19 15:12:30
使用Test.Html.Query模块(以及相应的Test.Html.Selector和Test.Html.Event模块)将获得更好的结果,而不是将整个Html msg块一起比较。这允许您创建更有针对性的测试(例如,测试某个元素是否具有特定的文本或特定的类,而不是测试整个HTML结构)。测试失败确实提供了更多的上下文来帮助您进行调试。
我已经构建了an example on Ellie,下面是测试的基本情况:
test "Button has correct count" <|
\() ->
viewFunc
|> Query.fromHtml
|> Query.has [ Selector.text "hello world" ]控制台中出现故障的结果将是:
> Hello World
▼ Query.fromHtml
<div>
Hello World!
</div>
▼ Query.has [ text "hello world" ]
> has text "hello world"https://stackoverflow.com/questions/70027267
复制相似问题