Je voudrais affirmer la taille de la liste. Actuellement, je le fais comme suit:
assert devices = Repo.all from d in device, where d.uuid == ^attrs.uuid
assert devices.first == devices.last
Y a-t-il une meilleure façon de le faire?
Je voudrais affirmer la taille de la liste. Actuellement, je le fais comme suit:
assert devices = Repo.all from d in device, where d.uuid == ^attrs.uuid
assert devices.first == devices.last
Y a-t-il une meilleure façon de le faire?
Kernel.length / 1 renverra la taille d'une liste:
length([1,2,3]) #3
Vous pouvez le faire à partir d'une requête Ecto en utilisant:
query = from d in Device, where: d.uuid == ^uuid, select: fragment("count(?)", d.id)
assert Repo.all(query)== 3
Dans Ecto 2, vous pouvez utiliser Repo.aggregate / 4
query = from d in Device, where: d.uuid == ^uuid)
assert Repo.aggregate(query, :count, :id) == 3
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.