Я новичок в фениксе и эликсире, поэтому спасибо за вашу помощь и исправления!
Я пытаюсь использовать приспособление для создания пользователя и его идентификатора для @valid_attrs и @update_attrs . Однако я не уверен, как получить доступ к пользователю, созданному прибором в блоке описания.
describe "my test" do
alias MyApp.Context.Module
user = user_fixture()
@valid_attrs %{name: "some name", user_id: user.id}
@update_attrs %{name: "some updated name", user_id: user.id}
@invalid_attrs %{name: nil, user_id: nil}
...
end
Однако, когда я запускаю mix test
для вышеуказанного, я получаю
== Compilation error in file test/little_things/character_test.exs ==
** (DBConnection.OwnershipError) cannot find ownership process for #PID<0.410.0>.
Мои другие тесты успешно используют user_fixture в методе настройки
describe "another example test" do
setup do
%{user: user_fixture()}
end
test "example test using setup", %{user: user} do
IO.puts(user.id) # This will print the user id
end
end
Однако я считаю его слишком многословным для написания и хотел бы предварительно определить valid_attrs, которые я могу использовать в своих тестах без необходимости проходить значение при использовании второго параметра в test / 2
Как я могу использовать пользовательскую переменную в @valid_attrs и @updated_attrs? Или я могу воспользоваться другим подходом DRY?