2016-04-28 107 views
0

我使用標準腳手架創建user模型,其屬性爲first_namelast_name。我寫了一個驗證,檢查first_namelast_name是否存在。 AND的默認驗證檢查。添加測試first_namelast_name的測試的最佳方法是什麼?測試OR驗證

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 

回答

2

我會讓@valid_attrs所有有效組合名單,並斷言所有的人都在測試有效。

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

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

您也可以爲它們中的每一個創建單獨的測試。