Reputation: 3280
I like to use breakpoints inside my tests to see what's going wrong, but the 30 second timeout on the tests prevents me to look around freely.
Is there a way to disable it ? The following doesn't work :
@tag timeout: 0
test "something" do
assert something == 42
end
Upvotes: 19
Views: 4094
Reputation: 1755
Creating a new answer since two separate editors on Stackoverflow think that me editing the accepted answer with the actual docs embedded in the code "was intended to address the author of the post and makes no sense as an edit" despite the updated answer being wholly written by the docs authors in the Elixir git repository (lol) and it "was not more accurate" despite giving 4(!) additional ways to set the timeout that isn't outlined in the answer or the comments.
The five ways:
@tag timeout: x
" (accepts :infinity)@moduletag timeout: x
" (accepts :infinity)ExUnit.start(timeout: x)
" configurationmix test --timeout x
" which sets timeoutmix test --trace
" which sets timeout to infinity(useful when using IEx.pry/0)
https://github.com/elixir-lang/elixir/blob/v1.10/lib/ex_unit/lib/ex_unit.ex#L144
Upvotes: 9
Reputation: 8469
With Elixir 1.1, you will also be able to run tests with the
--trace
option:mix test --trace
. It will automatically set timeout to infinity.– José Valim
Maybe try using:
ExUnit.configure(timeout: 600_000)
# or even:
ExUnit.configure(timeout: :infinity)
Upvotes: 24