Вопросы по теме 'ex-unit'
Эликсир assert_raise не перехватывает исключения
Я написал этот тестовый пример:
assert_raise ArgumentError, myFn(a,b)
но он не оценивает так, как я ожидал. myFn вызывает ошибку ArgumentError ( do: raise ArgumentError ), но assert_raise ее не перехватывает.
Пример в документации...
3344 просмотров
schedule
11.01.2024
Как тестировать модели с необходимыми ассоциациями
Использование Экто 2.0:
defmodule PlexServer.BoardInstanceTest do
use PlexServer.ModelCase
alias PlexServer.BoardInstance
@valid_attrs %{board_pieces: [%PlexServer.BoardTileInstance{x: 0, y: 0}], empire: %PlexServer.EmpireInstance{}}...
1419 просмотров
schedule
28.05.2023
Делегирование методов тестирования в Elixir
У меня есть два модуля:
defmodule Base.ModuleOne do
def do_stuff(opts) do
"some stuff with opts"
end
end
defmodule Base.ModuleTwo do
defdelegate do_stuff(opts), to: Base.ModuleOne
end
Каков правильный способ тестирования...
330 просмотров
schedule
15.12.2022
Тестирование Ecto 2.0 в зонтичном приложении
Я пытаюсь настроить приложение под эгидой, которое будет обрабатывать бизнес-логику. Он использует Ecto для взаимодействия с базой данных. У меня проблемы с настройкой SQL.Sandbox для тестирования. Всякий раз, когда я запускаю тест, я получаю эту...
789 просмотров
schedule
30.09.2022
Как я могу протестировать многострочный вывод в Elixir?
Как я могу протестировать следующий код?
["one", "two", "three"]) |> Enum.each(&IO.puts(&1))
one
two
three
:ok
Мой тест в настоящее время выглядит так, но он терпит неудачу, потому что IO.puts возвращает :ok , а не строки, и,...
715 просмотров
schedule
20.04.2023
Как протестировать канал с помощью Phoenix.ChannelTest.close/2
У меня есть тест, который запускает сокетное соединение, подписывается и присоединяется к теме. Затем я отправляю сообщение в канал, который выполняет некоторую работу и сохраняет некоторые данные. Затем я использую ChannelTest.close/2 в сокете,...
473 просмотров
schedule
09.02.2023
Как очистить базу данных с помощью Repo
В частности, у меня есть приложение Phoenix, использующее Ecto и Repo. Я хотел бы очищать свою базу данных после запуска каждого теста Exunit, который изменяет базу данных.
Один из способов сделать это — запустить все функции change в миграции в...
369 просмотров
schedule
07.05.2024
Примеры тестов очистки ExUnit
У меня есть следующие тесты в приложении phoenix:
defmodule TattooBackend.Web.API.V1.PasswordControllerTest do
use TattooBackend.Web.ConnCase, async: true
use Bamboo.Test
alias TattooBackend.Web.Endpoint
alias...
457 просмотров
schedule
17.05.2023
Простое тестирование авторизации Phoenix вошедшим в систему пользователем
Из этого учебник по простой аутентификации
Я хочу проверить маршруты приложения внутри :login_required конвейер (который просто проверяет, вызвал ли клиент Guardian.Plug.sign_in(conn, user) )
Поскольку действие user_path show...
584 просмотров
schedule
28.05.2024
Ecto Sandbox использует проверенное соединение для существующего процесса
У меня есть приложение Phoenix Test со схемой продукта. У меня есть GenServer, запущенный главным супервизором приложения, который получает список продуктов с помощью handle_call.
def handle_call(:get_products, _from, _state)
products =...
978 просмотров
schedule
04.03.2022
В Эликсире как имитировать временные сбои
Я издеваюсь над HTTP-вызовом (используя Tesla) с Mox следующим образом:
test "Token expiry is handled by re-applying for a token on the fly", %{conn: conn} do
TeslaMock
|> expect(:call, 8, fn env, _opts ->
case env.url do...
249 просмотров
schedule
06.06.2023
Циклическая зависимость в тестовых примерах
У меня есть три приложения в настройке зонтичного проекта
Уровень данных
Апислой
OtherLayer Другой слой (обязательно)
Теперь у меня есть такие зависимости, определенные в микс-файле. Приложение ApiLayer имеет
{:OtherLayer,...
216 просмотров
schedule
23.06.2022
ExUnit вызывает пустую ошибку с блоком setup_all
У меня есть тест, который требует предварительно вставленных данных.
Поэтому я пытаюсь настроить эти данные с помощью обратного вызова setup_all , поскольку эти данные можно настроить один раз.
Поскольку я не хочу ничего присваивать контексту,...
28 просмотров
schedule
06.07.2022
Валлаби с безголовым Chrome вылетает
Я разрабатываю приложение на основе Elixir и Phoenix, которое также использует приложение Wallaby для тестирования на основе HTTP в безголовом браузере Chrome.
Недавно я получаю довольно громоздкое сообщение об ошибке при выполнении моих тестов...
413 просмотров
schedule
29.09.2022
Как в Elixir ExUnit гарантировать, что Supervisor создаст новый GeNserver?
Учусь тестить в Эликсире и вот такая проблема появилась:
Когда я запускаю следующий тест, иногда он проходит, а иногда нет, я думаю, что это связано с тем, что у супервизора нет времени перезапустить GenServer:
test "Supervisor will revive...
267 просмотров
schedule
12.01.2023
Как я могу использовать doctest Эликсира для тестирования реализации протокола?
Я хочу иметь возможность тестировать реализацию протокола в Elixir.
Вот пример кода:
defprotocol Size do
def size(data)
end
defmodule Foo do
defstruct []
defimpl Size do
@doc """
## Examples
iex>...
188 просмотров
schedule
04.07.2023
Как добавить в вывод ExUnit информацию о неудачных тестах
Функция ExUnit.Callbacks.setup моих тестов создает идентификатор, который я хочу включить в вывод ExUnit в случае сбоя теста. Есть ли простой способ сделать это? Я знаю, что мог бы написать собственный ExUnit.Formatter, но это кажется излишним....
84 просмотров
schedule
12.05.2023
Ecto утверждает #Ecto.Association.NotLoaded‹ассоциация: xyz не загружена›
Обычно я проверяю, возвращает ли мой тест ожидаемый результат, например так:
company = company_fixture() # inserts a company in the database with default attributes
assert Profile.get_company!(company.id) == company
Но это не удается...
297 просмотров
schedule
26.01.2023