jxxcarlson
I’m getting a function undefined error that totally mystifies me:
describe "sessions" do
alias Koko.Authentication.Session
@valid_user_attrs %{"admin" => true, "blurb" => "BLURB!", "email" => "yada@foo.io",
"name" => "Yada T. Urdik", "username" => "yada", "password" => "abc.617.ioj"}
def user_fixture2(attrs \\ %{}) do
{:ok, user} =
attrs
|> Enum.into(@valid_user_attrs)
|> Authentication.create_user()
user
end
user = user_fixture2(%{})
#ETC.
Then
** (CompileError) apps/koko/test/koko/authentication/authentication_test.exs:94:
undefined function user_fixture2/1
Trending in Questions
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
Hello,
I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
Documentation
While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
Hi everyone,
I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding.
I sta...
New
So my question is quite simple and i have found no conclusive answer on forum, google or AI.
Should we use :erlang.float for Integer to ...
New
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #metaprogramming
- #hex










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
Ankhers
If you move the function definition outside of the
describe/2block, it will be available. You may want to check the documentation fordescribe/2, specifically the section on hierarchies, it may fit your needs.I think there is probably a debate on whether or not what you are trying to do should be allowed.
jxxcarlson
I tried that – same error.
I have two describe blocks. They both need to use
user_fixture. I moved that definition out of the first block, deleted the definition ofuser_fixture2, and now have two calls to ``user_fixture`: on in the first describe block, the other in the second. The error comes in the second block.Ankhers
Do you have a repository with a small example to show this behaviour? Because after doing a small test, defining the function in the
describe/2block works as expected.wtd423
You could also try using an anonymous function instead of a named one.
jxxcarlson
I have koko_dev and koko_test repositories. The tests should be addressing the former – it is empty.
Ankhers
I’m sorry, I meant a git repository or something. Somewhere we can take a look at the code.
jxxcarlson
Yes, I just pushed the branch I am working on:
https://github.com/jxxcarlson/koko/blob/login/apps/koko/test/koko/authentication/authentication_test.exs#L83
Ankhers
Alright. I am not entirely sure the reason behind it, but it turns out you cannot call the function in the
describe/2block, but you can call it in thetest/1block. I am not really sure of the limitations on this because I was able to callList.first/1without an issue. So maybe it is limited to functions defined in the sameexsfile?Either way, what you should be doing is using a
setup_all/1block in order to do something for all of the tests within thedescribe/2.benwilson512
You can’t call functions from within the module body that defines them.
Ankhers
So being within the
describe/2block is considered inside of the module body, but being inside thetest/1block does not?