Using Fixture Functions Directly
Let’s learn how to test our templates and wrap up the use of fixtures in our tests.
We'll cover the following...
Testing our templates
We have a single test we’ll need for templates. We want to make sure templates get compiled correctly. That test would be difficult if we had to do all of the setup work in the test block itself. Instead, we’ll use the helper functions in QuizBuilders
to churn our test out quickly.
We’ll create a new file template_test.exs
in the test
folder and add our latest test, like this:
Press + to interact
defmodule TemplateTest douse ExUnit.Caseuse QuizBuilderstest "building compiles the raw template" dofields = template_fields()template = Template.new(fields)assert is_nil(Keyword.get(fields, :compiled))assert not is_nil(template.compiled)endend
Let’s try running some commands to get an idea of how this test works:
Executable
Press + to interact
ExUnit.start()
Press + to interact
c("test/template_test.exs")
Press + to interact
use QuizBuilders
Press + to interact
alias Mastery.Core.{Template, Quiz, Response}
Press + to interact
fields = template_fields()
Press + to interact
template = Template.new(fields)
Press + to interact
is_nil(Keyword.get(fields, :compiled))
Press + to interact
is_nil(template.compiled)
Output
iex(1)> ExUnit.start()
:ok
iex(2)> c("test/template_test.exs")
[TemplateTest]
ie
...