1.開發DataModel
在app/moders 下新建User.java
package models;import java.util.*;import javax.persistence.*;import play.db.jpa.*;@Entitypublic class User extends Model { public String email; public String passWord; public String fullname; public String isAdmin; public User(String email, String password, String fullname) { this.email = email; this.password = password; this.fullname = fullname; }}
@Entity標識是一個JPA entity,繼承自play.db.jpa.Model,提供了JPA實現
類的字段,會自動映射到DB表中,默認表明是"User",如果要修改表明,在類上添加標簽"@Table(name="blog_user")"
2.測試
運行
>play test yape
或在Eclipse中運行,Test Yet Another Blog Engine
訪問 http://localhost:9000/@tests, 進入測試模式
選擇Test, Start執行,成功會標記為綠色,失敗會有提示
3.寫測試用例
修改 /test/BasicTest.java
@Testpublic void createAndRetrieveUser() { //Create a new user and save it new User("alex@Gmail.com", "####", "Alex").save(); //Retrieve the user with email address User user = User.find("byEmail", "alex@gmail.com").first(); //Test assertNotNull(user); assertEquals("Alex", user.fullname); }
創建User,查找User,進行斷言
User繼承自Model,提供了save/find等方法
User.java添加connect方法
public static User connect(String email, String passowrd) { return find("byEmailAndPassword", email, passowrd).first();}
添加測試用例
@Testpublic void tryConnectAsUser() { // Create a new user and save it new User("bob@gmail.com", "####", "Bob").save(); // Test assertNotNull(User.connect("bob@gmail.com", "####")); assertNull(User.connect("bob@gmail.com", "$$$$")); assertNull(User.connect("tom@gmail.com", "####"));}
..
新聞熱點
疑難解答