Рассмотрим следующий минимальный пример [?]:
defmodule Foo do
def bar() do
n = IO.read(:line) |> String.trim() |> String.to_integer()
for _ <- 0..n - 1 do
IO.read(:line) |> IO.write()
end
end
end
import ExUnit.CaptureIO
capture_io("2\nabc\ndef", Foo.bar)
Я заглянул в документацию, и она не накладывает никаких ограничений на использование ExUnit.CaptureIO
, но вышеупомянутый код зависает, ожидая первую строку ввода, как если бы он не был передан. Я что-то пропустил?
Если это имеет значение, я использую Elixir 1.7.3.