gpt4 book ai didi

java - 玩! + 锡耶纳 + GAE + JUnit

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:28:25 25 4
gpt4 key购买 nike

我正在尝试在 Play 上启动并运行一些基本的单元测试!使用 Siena 持久性库和 GAE 作为预期部署目标的框架。

我已正确配置项目,可以将应用程序部署到 GAE。我创建了一个基本的域对象:

public class User extends Model {

@Id(Generator.AUTO_INCREMENT)
public Long id;

@Column("first_name")
public String firstName;

@Column("last_name")
public String lastName;

@Column("email")
public String email;

public User(String firstName, String lastName, String email) {
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}

public static Query<User> all() {
return Model.all(User.class);
}

}

和一个基本的单元测试:

public class BasicTest extends UnitTest {

@Before
public void setup() {
Fixtures.deleteAll();
}


@Test
public void canCreateUser() {
new User("Jason","Miesionczek","atmospherian@gmail.com").insert();

User user = User.all().fetch().get(0);

assertNotNull(user);
assertEquals(1,User.all().count());
}

}

我在 Play 中明白这一点! 1.0.3,对 Siena 的 Fixtures 支持还没有,应该在 1.1 中修复,但与此同时,我应该用什么代替 Fixtures.deleteAll() 在每次测试前清除测试数据库?

现在我的第二个断言失败了,因为数据库保留了之前插入的记录。

最佳答案

您需要对每个表进行一次删除。例如:

Model.all(User.class).delete();

关于java - 玩! + 锡耶纳 + GAE + JUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3299336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com