【问题标题】:In Elixir's ExUnit, is it possible to just run one test?在 Elixir 的 ExUnit 中,是否可以只运行一个测试?
【发布时间】:2021-08-31 07:40:57
【问题描述】:

在 Python 的鼻子测试中,您可以通过调用其类后跟测试名称来指定运行一个测试。我们如何使用 Elixir 的 ExUnit 做到这一点?

【问题讨论】:

    标签: elixir


    【解决方案1】:

    您现在可以执行mix test path/to/test.exs:13,其中 13 是测试行。

    【讨论】:

    • 其实现在你可以在上面的 mix 命令后面加上测试的行号
    • 对于伞形项目,文件路径中不要包含apps/app_name。即使根目录的文件路径是apps/app_name/test/app_name_test.exs,也只需运行mix test test/app_name_test.exs:13。见this。
    【解决方案2】:

    将标签添加到测试(例如wip)并使用mix --only 标志运行。

    @tag :wip
    test "only run this test" do
      assert true
    end
    

    运行为:mix test --only wip

    这只会使用定义的标签运行测试,跳过所有其他标签。

    【讨论】:

    • 不错的解决方案!谢谢
    【解决方案3】:

    我今天在 IRC 上问了同样的问题,他们回答(感谢 Nhu 和 José)现在我可以用 mix 来做。

    您可以运行单个测试:

    mix test path/to/file_test.exs:42
    

    如果你使用 Vim,你可以创建一个映射 like I did here (based on vim-rspec)。

    【讨论】:

      【解决方案4】:

      似乎 Amrita 可以一次运行一项特定的测试:

      https://github.com/josephwilk/amrita

      【讨论】:

        猜你喜欢
        • 2013-11-04
        • 2020-05-30
        • 2018-09-20
        • 1970-01-01
        • 2019-11-20
        • 1970-01-01
        • 2017-04-09
        • 2016-06-28
        • 1970-01-01
        相关资源
        最近更新 更多