测试OR验证

时间:2016-04-28 08:37:35

标签: elixir phoenix-framework

我使用标准支架创建了一个user模型,其中包含first_namelast_name属性。我写了一个验证,检查first_name OR last_name是否存在。默认验证检查AND。添加测试first_namelast_name的测试的最佳方法是什么?

defmodule Vutuv.UserTest do
  use Vutuv.ModelCase

  alias Vutuv.User

  @valid_attrs %{first_name: "some content", last_name: "some content"}
  @invalid_attrs %{}

  test "changeset with valid attributes" do
    changeset = User.changeset(%User{}, @valid_attrs)
    assert changeset.valid?
  end

  test "changeset with invalid attributes" do
    changeset = User.changeset(%User{}, @invalid_attrs)
    refute changeset.valid?
  end
end

1 个答案:

答案 0 :(得分:2)

我会将<object id="MyObject" name="MyObject" classid="clsid:37123a95-5afb-4f68-b95b-b735c505d8d9"></object> 列为包含所有有效组合的列表,并断言所有这些组合在测试中都有效。

@valid_attrs

您还可以为每个测试创建单独的测试。