Описание тега fscheck

FsCheck is a framework for random testing of .NET programs. FsCheck is a port of Haskell's QuickCheck written in F#.
1 ответ

Как заставить FsCheck генерировать случайные строки, которые уважают MaxLengthAttribute?

Возможно ли для FsCheck генерировать случайные записи, которые относятся к атрибуту MaxLengthAttribute. Пример типа записи: type Person = { Id: int [<System.ComponentModel.DataAnnotations.MaxLength(256)>] FirstName: string [<System.Componen…
02 мар '18 в 03:58
3 ответа

Генерация уникальных строк в FsCheck

Мне нужно генерировать уникальныеnull строки для использования в качестве Dictionary ключи. Я попробовал что-то вроде: public static Gen<NonNull<string>> UniqueStrings() { return from s in Arb.Default.NonNull<string>().Generator se…
15 янв '16 в 06:12
1 ответ

Как мне создать Произвольный для System.Type?

Я пытаюсь инициализировать мои модельные объекты с помощью FsCheck. Модели живут в C# и обычно инициализируются через Entity Framework через свои частные установщики. Например (надумано): public class Model { public string One { get; private set; } …
16 мар '15 в 19:24
1 ответ

Запретить комбинации параметров

Я пытаюсь использовать FsCheck, чтобы написать базовый тест на основе свойств для класса, который генерирует случайный DateTimeOffset значения в данном интервале. [Property] public void ValueBetweenMinAndMax(DateTimeOffset min, DateTimeOffset max) {…
20 дек '18 в 14:11
1 ответ

Создать массив Json с помощью FsCheck

Я новичок в FsCheck и мне нужен массив json для выполнения моих тестов. Я хочу простое решение, подобное следующему: let commaSeparated = Gen.arrayOf Arb.generate<string> |> Gen.fold(fun (acc,i)-> i+="\",\"") |> Gen.finalValueOf |>…
31 дек '17 в 14:09
1 ответ

Как реализовать генерацию нескольких аргументов с помощью FsCheck?

Как реализовать генерацию нескольких аргументов с помощью FsCheck? Я реализовал следующее для поддержки генерации нескольких аргументов: // Setup let pieces = Arb.generate<Piece> |> Gen.filter (isKing >> not) |> Arb.fromGen let pos…
08 авг '16 в 22:58
2 ответа

FsCheck в C#: создать список из двух размерных массивов с одинаковой формой

Допустим, я пишу код для анализа видео. Вот упрощенная версия класса Video: public class Video { public readonly int Width; public readonly int Height; public readonly List<int[,]> Frames; public Video(int width, int height, IEnumerable<int…
27 сен '15 в 18:23
1 ответ

Превращение генератора на основе System.Random в генератор FsCheck

Предположим, мне дали генератор на основе System.Random и я хочу превратить его в генератор FsCheck: let myGen = MyGen(System.Random()) let fsGen = gen { return myGen.Generate() } Есть несколько проблем с этим простым решением: во-первых, концепция …
30 сен '15 в 10:47
1 ответ

Как вы запускаете асинхронные тесты в FsCheck?

Как получить повторяемые асинхронные тесты с помощью FsCheck? Вот пример кода, который я запускаю в FSI: let prop_simple() = gen { let! s = Arb.generate<string> printfn "simple: s = %A" s return 0 < 1 } let prop_async() = async { let s = Ar…
19 янв '19 в 18:44
1 ответ

Как применить конфигурацию к набору тестов на основе свойств?

Как применить конфигурацию к набору тестов на основе свойств? Я попробовал следующее: let config = { Config.Quick with MaxTest = 10000 QuietOnSuccess = true } [<Property(Config=config)>] // Doesn't work because "Config" is a private member let…
11 авг '16 в 13:45
1 ответ

Получение пустого значения в генераторе F#

У меня проблема с этим кодом, я попытался сгенерировать список непустой строки следующим образом: let! x = Arb.generate<string> |> Gen.filter(fun (x) -> x<>null && x <>""&& x<>" ")|>Gen.nonEmptyListOf…
05 дек '18 в 13:40
1 ответ

Подходит ли FSCheck для тестирования конструкции типа?

Фон: У меня есть большое количество команд, которые удовлетворяют следующим правилам: нет сеттеров (неизменяемых) один конструктор имя параметра совпадает с именем устанавливаемого свойства (кроме кожуха) Я хотел бы написать тестер, который тестируе…
06 сен '17 в 16:53
1 ответ

Как получить подробную проверку в FsCheck.XUnit?

Как получить сгенерированные прогоны при использовании [<Property>] использовать Check.VerboseAll стиль генерации?
28 мар '14 в 17:34
3 ответа

Почему использование оператора обратного конвейера разрешает ошибку компиляции?

Следующая строка принята компилятором: input |> Prop.forAll <| fun (a , b) -> add a b = add b a Однако, когда я заменяю оператор обратной линии с круглыми скобками, я получаю сообщение об ошибке: input |> Prop.forAll ( fun (a , b) -> …
17 авг '16 в 14:13
1 ответ

Заставить FsCheck сгенерировать NonEmptyString для различения полей объединения типа string

Я пытаюсь добиться следующего поведения с помощью FsCheck: я хотел бы создать генератор, который будет генерировать экземпляр MyUnion тип, причем каждое строковое поле не пусто type MyNestedUnion = | X of string | Y of int * string type MyUnion = | …
15 авг '17 в 13:49
1 ответ

Как использовать FsCheck для генерации случайных чисел в качестве входных данных для тестирования на основе свойств

Я думал, что пришло время попробовать FsCheck, но это оказалось сложнее, чем я думал. Там много документации по Arb, генераторы и так далее, но, похоже, нет никаких указаний о том, как применять эти знания. Или я просто не понимаю. Что может усложни…
3 ответа

Сложность мышления свойств для FsCheck

Мне удалось заставить xUnit работать над моим небольшим примером сборки. Теперь я хочу посмотреть, смогу ли я пойти на FsCheck. Моя проблема в том, что я озадачен, когда дело доходит до определения свойств теста для моих функций. Может быть, у меня …
1 ответ

Как передать тип в качестве параметра атрибута, используя синтаксис F#?

FsCheck позволяет настраивать Arbitrary в его интеграции NUnit: [<Property(Verbose = true, Arbitrary= [typeof<Test.Arithmetic.MyArb>])>] static member MultiplyIdentity (x: int64) = x * 1 = x Этот синтаксис не работает. Я чувствую себя не…
06 дек '16 в 14:12
1 ответ

Отрицательные тесты на основе свойств

Тестирование на основе свойств хорошо, когда вы можете выразить простые и четко определенные свойства. Мне также повезло с "отрицательными свойствами" в случае тестирования парсеров, например, путем генерации неверных идентификаторов или несовпадени…
1 ответ

Должны ли тесты свойств выполняться с модульными тестами при использовании методологии RGR?

Должны ли тесты свойств выполняться с модульными тестами при использовании методологии RGR? RGR: Красный -> Зеленый -> Рефакторинг Я заметил, что модульный тест, который у меня есть, выполняется за 18 мс. Однако мой тест свойства для того же метода …
29 ноя '15 в 13:35