Récemment j'ai écrit la fonction suivante:"test mix" Elixir considère des exemples de @DOC que les tests
@doc """
Creates a new deck, shuffles its cards and retrieves a hand of
cards from it.
The `hand_size` argument indicates the size of the hand.
## Examples
iex> {hand, _deck_remainder} = Cards.create_hand 2
iex> hand
["Ace of Clubs", "Four of Hearts"]
"""
def create_hand(hand_size) do
create_deck
|> shuffle
|> deal(hand_size)
end
Points à considérer:
create_deck/0
retourne une liste de chaînes comme["Two of Clubs", "Four of Hearts"]
shuffle/1
prend une liste de chaînes et les mélange en utilisantEnum.shuffle/1
deal/2
un tuple comme{["Ace of Spades"], ["Five of Clubs"]}
Puis j'ai couru la tâche mix test
et l'erreur suivante est apparue:
On dirait que test de mélange envisage les exemples dans les annotations de @DOC comme des tests unitaires.
En raison de shuffle/1
organise aléatoirement les chaînes dans la liste, l'exemple (en tant que test unitaire) se bloque.
Je voudrais exclure ces exemples de mix test
... Est-ce une bonne idée de le faire? Si oui, comment puis-je les exclure?
voir https://hexdocs.pm/ex_unit/ExUnit.DocTest.html vous devez désactiver 'doctest' pour votre module. et à l'avenir, veuillez inclure les erreurs sous forme de texte et non d'image. – sobolevn
Merci pour l'information et la suggestion, @sobolevn – Jovanny