FsCheck позволяет обычай Arbitrary
в интеграции NUnit:Как передать параметр типа как атрибута с помощью синтаксиса F #?
[<Property(Verbose = true, Arbitrary= [typeof<Test.Arithmetic.MyArb>])>]
static member MultiplyIdentity (x: int64) = x * 1 = x
Этот синтаксис не работает. Я чувствую себя немного неловко, чтобы спросить, но, по-видимому, мне это никогда не понадобилось: как вы указываете тип в F # как параметр атрибута? Microsoft says nothing about it, а также Wikibooks project, и у меня есть некоторые проблемы с поисковой системой (слово тип вездесущий).
Примечание 1: параметр Arbitrary
имеет тип Type []
.
Да, я не показывал внимание к моему списку-синтаксису при написании моего вопроса. Конечно, вы правы, но я действительно фокусировался на получении «Тип», и копирование вашего синтаксиса все еще бросается с _ «Это не допустимое значение константного выражения или значение настраиваемого атрибута» _. Можете ли вы воспроизвести или использовать этот синтаксис для вас? – Abel
Работает здесь: https://github.com/fscheck/FsCheck/blob/master/tests/FsCheck.Test/Runner.fs#L21 –
Мой плохой. Первая ошибка была скрыта ошибкой всплывающей подсказки в F # и была _ «Тип« MyArb »не определен» _ У меня был 'Tests.Arithmetic.MyArb', который существует, но, видимо, при использовании' typeof' вы не можете использовать FQN ??? В любом случае, когда я упростил его, 'typeof' it 'просто работал ". Одурачивается моей собственной глупостью;). –
Abel