【问题标题】:How to send test results to another place on elixir如何在 elixir 上将测试结果发送到另一个地方
【发布时间】:2020-10-27 23:16:48
【问题描述】:

当我运行 mix test 时,我会在 shell 中返回所有结果。 我怎样才能将结果发送到更多的地方,如 slack、文件等?

【问题讨论】:

    标签: elixir phoenix ex-unit


    【解决方案1】:

    要将mix test 的结果写入文件,您可以:

    mix test > results.txt
    

    要将它们发布到 Slack,您可以使用他们的 Web API,您可以在此处找到:https://api.slack.com/web

    【讨论】:

    • 您的建议是本地解决方案,我想要一些可以自动执行并让我控制按摩的东西。我的代码连接到 slack API,但我不知道如何获取日志以便可以发送到那里。
    • 您可以使用 curl 读取文件并发送内容。 results=cat results.txtcurl -X POST -H "Content-Type: text/plain" --data $results http://api.slack.com
    • 有没有办法在app里配置一下?
    【解决方案2】:

    我在https://stackoverflow.com/a/41350442/11678286 中找到了我的问题的答案。 要为 ExUnit 结果配置您自己的配置,我需要实现我自己的格式化程序(例如,请参阅 https://github.com/elixir-lang/elixir/blob/master/lib/ex_unit/lib/ex_unit/cli_formatter.ex;这是默认格式化程序)并配置 ExUnit 以使用它:

    ExUnit.start(formatters: [YourFormatterModule])

    为了将结果发送到其他地方(如 slack),我只需要复制默认格式化程序并在那里添加将其发送到 salck 的函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-15
      • 1970-01-01
      • 1970-01-01
      • 2022-12-06
      • 2023-04-09
      • 2021-01-30
      • 2020-11-14
      • 1970-01-01
      相关资源
      最近更新 更多