首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Elm Html节点转换为字符串输出

将Elm Html节点转换为字符串输出
EN

Stack Overflow用户
提问于 2021-11-18 21:58:42
回答 1查看 59关注 0票数 2

我有一个返回一些超文本标记语言的viewFunc。我想验证它的返回值。我使用elm-test编写了一个测试用例。

代码语言:javascript
复制
viewFunc |> Expect.equal (span [] [ text "hello world"]) 

只要我的测试用例通过,它就能正常工作。但是,当它失败时,我会得到以下错误:

代码语言:javascript
复制
    <internals>
    ╷
    │ Expect.equal
    ╵
    <internals>

这一点帮助都没有。怎样才能得到更有意义的错误消息?有没有一种方法可以把Html节点串起来?I looked around in the documentation of ,但没有找到任何东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-19 15:12:30

使用Test.Html.Query模块(以及相应的Test.Html.SelectorTest.Html.Event模块)将获得更好的结果,而不是将整个Html msg块一起比较。这允许您创建更有针对性的测试(例如,测试某个元素是否具有特定的文本或特定的类,而不是测试整个HTML结构)。测试失败确实提供了更多的上下文来帮助您进行调试。

我已经构建了an example on Ellie,下面是测试的基本情况:

代码语言:javascript
复制
test "Button has correct count" <|
    \() ->
        viewFunc
            |> Query.fromHtml
            |> Query.has [ Selector.text "hello world" ]

控制台中出现故障的结果将是:

代码语言:javascript
复制
> Hello World

    ▼ Query.fromHtml

        <div>
            Hello World!
        </div>


    ▼ Query.has [ text "hello world" ]

    > has text "hello world"
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70027267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档