当一个人有2个地图时,哪种更好的StreamData方法?

时间:2019-03-20 03:54:43

标签: unit-testing testing elixir property-based-testing

以下属性测试工作正常,但是,我认为应该有一种更好,更有效的方法来实现此目的。

以下'single-tweet'中的

params将是这样的:

property

属性测试:

%{
  "project_id" => "%&!XX!hLCfsS-dO_<fy?kpi4y=AEumQ$Xn:#.7Fl TnH~k>ZLB[q",
  "task_id" => [
    %{"asset_id" => 10, "tasks" => []},
    %{"asset_id" => 10, "tasks" => []}
  ]
}

property "bad project value" do [user, project] = prepare() user_gen = constant(%{id: user.id}) project_gen = constant("project_id") |> map_of(Factory.my_terms, length: 1) tasks = constant(%{"asset_id" => 10, "tasks" => []}) |> list_of(length: 2) tasks_gen = constant("task_id") |> map_of(tasks, length: 1) check all project <- project_gen, task <- tasks_gen , user <- user_gen do params = Map.merge(project, task) res = ProjectTask.Save.save(params, user) assert res == {:error, :not_found} end 如下:

Factory.my_terms

更新

def my_terms() do
  one_of([string(:alphanumeric), string(:ascii), atom(:alphanumeric), integer(), binary()])
end

0 个答案:

没有答案