Γρήγορη αναφορά

ExUnit Cheat Sheet για το Πλαίσιο Δοκιμών της Elixir

Συνοπτικός οδηγός για το ενσωματωμένο πλαίσιο δοκιμών ExUnit της Elixir: περιπτώσεις ελέγχου, ισχυρισμοί, καταγραφή IO και callbacks.

· Δημοσιεύτηκε

Το ExUnit είναι το ενσωματωμένο πλαίσιο δοκιμών για την Elixir, παρέχοντας απλές μακροεντολές για περιπτώσεις ελέγχου και ισχυρισμούς.

Ορισμός Περιπτώσεων Ελέγχου (Test Cases)

defmodule MyTest do
  use ExUnit.Case
  use ExUnit.Case, async: true  # for async

  test "the truth" do
    assert 1 + 1 == 2
  end
end

Καταγραφή IO και Καταγραφών (Capture IO & Logs)

import ExUnit.CaptureIO

test "capture io" do
  result = capture_io(fn ->
    IO.puts "sup"
  end)

  assert result == "sup\n"
end
config :ex_unit, capture_logs: true

Ισχυρισμοί και Διαψεύσεις (Assertions & Refutations)

assert x == y
refute x == y

assert_raise ArithmeticError, fn ->
  1 + "test"
end

assert_raise ArithmeticError, "message", fn -> ... end
assert_raise ArithmeticError, ~r/message/, fn -> ... end

flunk "This should have been an error"

Callbacks Προετοιμασίας και Συμφραζόμενα

setup do
  {:ok, name: "John"}
end

test "it works", %{name: name} do
  assert name == "John"
end
defp my_hook(_context) do
  {:ok, name: "John", age: 54}
end

describe "a block" do
  setup [:my_hook]

  test "John's age", context do
    assert context[:name] == "John"
    assert context[:age] == 54
  end
end

Σχετικά Cheat Sheets

Σχετικά θέματα