(tgen/sample (tgen/fmap atom (s/gen pos-int?)))
=>
(#object[clojure.lang.Atom 0x2224cfce {:status :ready, :val 2}]
#object[clojure.lang.Atom 0x41479e21 {:status :ready, :val 1}]
...
вообще звучит как "надо вынести потроха в чистую функцию, которую и тестировать, а обертку принимающую атом - сделать максимально простой"
отцы поясняют в ответах по ссылке
мапу со не-кивордами можно кастомным макросом собрать, или кивордайз киз сделать предварительно, небеда как-бы, особенно на фоне невозможности стрингам и интам прицепить неймспейс