IEx.pry
をテスト中に起動しようとしています。しかし、私はiexセッション内でテストを実行することはできません。私はミックスを使用していないことに注意してください。私はExUnit.run
ハングし、最終的にタイムアウトでそれを実行してみてくださいExExit内でExUnitテストを実行する方法
ExUnit.start
defmodule Calc do
def add(a,b) do
a + b
end
end
defmodule TheTest do
use ExUnit.Case
test "adds two numbers" do
require IEx
IEx.pry
assert Calc.add(1, 2) == 3
end
end
:
[email protected]:~/exercism/elixir/nucleotide-count$ iex test.exs
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:10] [kernel-poll:false]
Interactive Elixir (1.3.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> ExUnit.run
** (exit) exited in: GenServer.call(ExUnit.Server, {:take_async_cases, 8}, 60000)
** (EXIT) time out
(elixir) lib/gen_server.ex:604: GenServer.call/3
(ex_unit) lib/ex_unit/runner.ex:71: ExUnit.Runner.loop/2
(stdlib) timer.erl:166: :timer.tc/1
(ex_unit) lib/ex_unit/runner.ex:13: ExUnit.Runner.run/2
コードが正しくセットされていると私はTheTest."test adds two numbers"({})
で直接呼び出すことができます。しかし、私はスイート全体を起動することを望んでいた。
なぜあなたは 'mix'を使用していませんか? – Simone
これは役に立ちます。http://stackoverflow.com/questions/29671156/pry-while-testing – Simone
あなたは 'mix'を使用していないので、自分で' ExUnit'サーバアプリケーションを起動するのに十分な勇気がなければならないと思います。 – mudasobwa