1

我正在使用PropEr编写基于属性的测试。如何查看我的生成器生成的数据类型?

假设我有以下生成器:

-module(my).
-include_lib("proper/include/proper.hrl").
-export([valid_type_gen/0]).

valid_type_gen() -> non_empty(list(any())).

我想检查它生成什么样的数据,例如:

$ erl
1> my:valid_type_gen().sample() %???
[1,b,"blah"]

对于 Triq 中的相同问题,请看这里

4

1 回答 1

2

相关功能是proper_gen:pick/1。它返回一个元组{ok, V}

$ erl
1> proper_gen:pick(my:valid_type_gen()).
{ok,[{{},<<>>,2},
     [{},11.690292064109402,
      {{}},
      {},18.096053885231132,u,')[\2064Wue¢±'],
     [{},-5.041761022794527,-13,
      {[],-0.9553811124968509},
      -5,'õ\232zc}:Ì'],
     <<47,5,113,69,86,216,20,142,173,57:6>>,
     '',
     {2.710196163900066,0.47155396154628,{},[],
      {[]},
      8.42398680461108},
     {[[25,
        [-10.073999184421432,5.734631070941083,
         {'æ\2367Ò§ü\233"',[30.925337851024143]}]],
       '']},
     '\031Þ\037\'\v','\214b\236']}
于 2016-04-07T12:29:41.863 回答