What does `mix test --cover` do exactly?

I can see it produces a single HTML file for my module and when I open it, I see vertical bars (|) at the start of every line, except for line 13 which starts with 9..| as opposed to only a vertical bar. That line contains a defstruct statement. I have two functions at the bottom of the module which are not covered by my tests, btw. Everything else looks covered to me.

I was reading the official docs but honestly couldn’t understand what are they talking about.

So how do I read this generated file?


Excoveralls (https://github.com/parroty/excoveralls) produces pretty nice reports.