fscheck

    1

    1답변

    fscheck를 채택하려하지만 C#에 대한 많은 설명서가 없으므로 매우 힘든 시간을 보냅니다. 당신은 설명 할 수 있습니까? 다음의 사용 예가 왜 속성에 대한 결합자가 실패했는지 (분명히, 올바르게 사용하는 방법을 이해하지 못합니다)? [Test] public void WherePorperty() { Prop.ForAll(Not

    3

    1답변

    FsCheck에는 테스트 데이터를 생성하기위한 몇 가지 기본 유형이 있습니다 (Arbitrary). 그러나 나의 시험 날짜 중 하나가 다른 것에 달려 있다면 어떨까요? 는 예를 들어, 결과 문자열이 이상 입력 문자열보다 수 없다 string.Substring()의 특성을 고려 : [Fact] public void SubstringIsNeverLongerT

    2

    1답변

    나는 다음과 같은 코드가 있습니다 var gen = from x in Arb.Generate<int>() from int y in Gen.Choose(5, 10) where x > 5 select new tuple { Fst = x, Snd = y }; 을 그리고 난 발전기를 구성 및 속성을 정의 할 수있는 모든 방법을 볼 Prop.ForAll<t

    2

    1답변

    내 유효성 검사 함수가 실패 할 경우 some 것이 반환되는지 또는 none을 반환하는지 확인해야합니다. Some<string>을 반환하면 유효성 검사 오류가 발생하고 그렇지 않으면 유효하며이 함수는 None을 반환합니다. 이 내 시도이지만, 안전 리팩토링 아니에요 : [<Property(Arbitrary=[| typeof<Strings.WithLenFro

    4

    1답변

    a*c?과 같은 glob 구문 패턴을 생성하는 사용자 정의 Arbitrary을 구현하려고합니다. 내 구현은 정확하다고 생각합니다. Xunit을 사용하여 테스트를 실행할 때 FsCheck는 테스트 데이터를 생성하기 위해 임의의 사용자 지정 Pattern을 사용하지 않는 것처럼 보입니다. 그러나 LINQPad를 사용하면 모든 것이 예상대로 작동합니다. 원래 :

    1

    1답변

    패턴과 일치하는 임의의 문자열 (예 : abcd)과 함께 임의의 glob 구문 파일 (예 : a*c?)을 생성하는 FsCheck 생성기를 작성했습니다. 그러나 내 솔루션은 가변 변수를 사용하며 오히려 부끄럽습니다. text가 변경 가능한 방법과 그 값은 루프에 축적된다 open FsCheck type TestData = {Pattern: string;

    3

    1답변

    FsCheck를 처음 사용하고 테스트를 수행하기 위해 json 배열이 필요합니다. 나는 다음과 같은 간단한 해결책 원하는 : let commaSeparated = Gen.arrayOf Arb.generate<string> |> Gen.fold(fun (acc,i)-> i+="\",\"") |> Gen.finalValueO

    1

    1답변

    어제 FsCheck를 살펴보기 시작했고 DiscountAmount의 인스턴스가 항상 음수 값을 갖게되는 간단한 테스트를 작성하려고합니다. 내 질문은 하나의 테스트 내에서 여러 개의 주장을 가지고 있어도 괜찮습니까? 예를 들어, 여기서 discountAmount가 생성 된 금액과 할인 금액은 0이어야한다고 말하고 있습니다.하지만 할인 금액은 0보다 작아야합니

    0

    1답변

    FsCheck를보고 몇 가지 테스트를 작성하기 시작했습니다. 이제 더 복잡한 중재자를 구성하기위한 좋은 전략이 무엇인지 궁금합니다. 임의적으로 좋은 접근법에 등록한 중재자는 있습니까? 당신이 다른 관련 임의의 인스턴스가 같은 클래스에 추가하고 다른 인스턴스 간의 종속성이있는 경우 직접 대신 메서드를 호출 할 경우이 public class DiscountAm

    1

    1답변

    매개 변수 (예 : string)를 받고 간단한 방법을 쓰는 간단한 방법을 작성해야합니다. 보통 두 가지 테스트가 끝납니다. 첫 번째 것은 guard clause입니다. 두 번째는 예상 동작을 확인할 것 (편의상, 방법은 실패 안) : [Fact] public void DoSmth_WithNull_Throws() { var sut = new S