Описание тега test.check
NoneTest.check - это инструмент тестирования на основе свойств Clojure, созданный на основе QuickCheck. Основная идея test.check заключается в том, что вместо перечисления ожидаемых входных и выходных данных для модульных тестов разработчики пишут свойства своей функции, которые должны выполняться для всех входных данных. Это позволяет им писать краткие и эффективные тесты.
1
ответ
Clojure spec - генератор с одной ветвью
Можно ли переопределить генератор спецификаций по умолчанию, чтобы данные всегда генерировались только для одной ветви s/or составная спецификация? (s/def ::x (s/or :x-a nat-int? :x-b string?)) (gen/sample (s/gen ::x)) ;; generate strings only
27 ноя '18 в 00:31
2
ответа
test.check: поведение в стиле let в свойствах / для всех
Следуя этому вопросу и сообщению в блоге, есть причина, почему prop/for-all не просто катиться в такой возможности напрямую? Например, что-то вроде: (require '[clojure.test.check.generators :as gen]) (require '[clojure.test.check.properties :as prop…
28 дек '15 в 17:39
1
ответ
Циклы и управление состоянием в test.check
С введением Spec я пытаюсь написать генераторы test.check для всех моих функций. Это хорошо для простых структур данных, но имеет тенденцию становиться трудным со структурами данных, которые имеют части, которые зависят друг от друга. Другими словам…
31 окт '16 в 07:22
1
ответ
Создание структурированных карт с помощью test.check
Я играю с test.check, и я тестирую функцию, которая принимает карту в качестве аргумента. Эти карты имеют определенную структуру, такую как: {:name "Bob" :age 42 :email "bob@example.com" :admin true} Ключевым моментом является наличие набора ожида…
04 дек '14 в 21:36
0
ответов
Является ли пространство имен clojure.test.check.random предназначенным для внешнего использования?
Clojure test.check библиотека включает в себя неизменяемую версию функциональности, предоставляемой Java SplittableRandom класс, как описано Гари Фредерикс в его "Чисто случайный" разговор. Тем не менее, API документы для test.check исключить clojur…
09 июн '17 в 20:18
1
ответ
Нужна помощь в понимании того, почему тестирование / проверка спецификации Clojure не проходит проверку возврата, когда REPL не дает сбоя
Я играл с Clojure Spec для тестирования и генерации данных и вижу странное поведение, когда функция работает в модульных тестах, а валидация работает в REPL, но генеративное тестирование с помощью spec.test/check не выполняется. Я создал набор специ…
25 янв '19 в 07:37
1
ответ
Генерация отсортированных данных с помощью test.check
Я хотел бы использовать test.check для генерации отсортированных данных временных рядов в форме [ [timestamp value] [timestamp value] ..] где отметка времени, пары значений находятся в порядке возрастания отметки времени. Я могу легко генерировать т…
08 фев '15 в 18:56
0
ответов
Как я могу сгенерировать одно значение с заданным семенем и размером?
test.check библиотека обеспечивает generate функция, которая берет генератор и размер и возвращает единственное значение от генератора с заданным размером, но она получает свое начальное число недетерминированным образом. Библиотека также предоставл…
12 июн '17 в 18:28
2
ответа
Как мне выбрать случайные подпоследовательности в тесте Clojure test.check?
Я пытаюсь сгенерировать случайный решаемый экземпляр проблемы суммы подмножеств. Википедия утверждает, что целевое значение всегда должно быть равно нулю, но также возможно указать целевое значение, что я и делаю здесь. Так что идея состоит в том, ч…
27 ноя '17 в 23:17
2
ответа
Как создать генератор test.check для последовательности действий в ограниченном порядке?
(require '[clojure.test.check.generators :as gen]) (def ACTIONS {:create-new-user #{} :edit-user #{:create-new-user} :create-new-board #{:create-new-user} :edit-board #{:create-new-board} :create-new-anonymous-comment #{:create-new-board} :create-ne…
13 дек '14 в 22:10
1
ответ
Как я могу генерировать случайные графики с помощью test.check?
Я пытаюсь сгенерировать случайный граф в форме списка смежности для генеративного тестирования. Пример графика будет: {:a #{:a :b}, :b #{:a :b}} (Списки смежности реализованы в виде наборов.) Моя первая идея была такая: (def vertex-gen (tcgen/fmap (…
31 окт '18 в 12:49
2
ответа
test.check генерирует строки определенной длины
При использовании test.check мне нужен генератор для строк определенной длины. Номера телефонов, почтовые индексы, номера социального страхования - все это примеры данных такого типа. Хотя примеры кажутся только числами, мой вопрос касается строк в …
13 мар '16 в 17:31
1
ответ
test.check создает дерево с различными типами узлов
Я хочу создать дерево с различными типами узлов. Для каждого типа узла существуют различные возможные комбинации типов узлов, которые могут стать дочерними для этого узла. Любой тип узла может не иметь дочерних элементов. recursive-gen по сути, выну…
30 дек '15 в 16:23
1
ответ
Clojure spec - тестовая проверка OutOfMemoryError
Я пытаюсь сделать тестирование на основе свойств для этой простой функции: (defn distinct-kw-keys [maps] (->> (map keys maps) (flatten) (filter keyword?) (distinct) (vec))) ... с помощью fdef а также check: (require '[clojure.spec.alpha :as s]…
21 янв '19 в 00:35
2
ответа
Генератор функций в test.check
Я хочу сделать генераторы для функций. Я заметил, что действительно есть генераторы для IFn значения, но когда область функции бесконечна (и так как значения строгие), их не очень удобно использовать в качестве генераторов для функций. Существует ли…
15 ноя '16 в 13:20
2
ответа
Как всегда генерировать данные для дополнительных ключей в спецификации?
Если у меня есть спецификации, как (clojure.spec/def ::person (clojure.spec/keys :req [::name ::address] :opt [::age])) И когда я делаю (clojure.spec.gen/generate (clojure.spec/gen ::person)) Есть ли способ сказать генератору всегда учитывать дополн…
12 апр '18 в 20:05
2
ответа
Как генерировать UUID, которые могут работать с test.check в Clojure
Генеративное тестирование кажется интересным, но мне нужно было генерировать случайные UUID в рамках тестирования. java.util.UUID/newRandom не очень подходит для сжатия test.check. Код Java выглядит следующим образом: public static UUID randomUUID()…
30 янв '15 в 23:11
0
ответов
Как генерировать коллекции с определенным свойством (например, stddev), используя test.check
Я хочу использовать Clojure's test.check библиотека для генерации коллекций, с помощью которой я могу делать некоторые простые статистические данные, такие как вычисление среднего значения, стандартное отклонение, доверительные интервалы и тому подо…
06 мар '15 в 13:41
1
ответ
Как ограничить размер сгенерированного образца с помощью `clojure.spec/+`?
clojure.spec/coll-of принимает :gen-max возможность ограничить сгенерированный размер выборки. Есть ли аналог для clojure.spec/+?
09 июн '17 в 11:54
1
ответ
Clojure spec - генератор проверки переопределения для предиката
Есть ли способ переопределить генератор для основной функции предиката при вызове clojure.spec.test.alpha/check? Можно переопределить генератор предикатов по пути внутри s/gen: (gen/generate (s/gen (s/cat :s string?) {[:s] #(gen/return "xyz")})) Но …
31 мар '19 в 00:59