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

标签 java google-app-engine junit playframework siena

我正在尝试在 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/

相关文章:

java - Google Cloud Endpoints 设置问题

Java:使用反射调用方法时如何获得完整的失败跟踪?

java - 测试 Spring 是否存在上下文不应该加载的情况

java - Stratio cassandra-lucene-index 插件 + BoundStatements

java - 在 Spring 应用程序中运行 Junit 测试时依赖关系不满足

java - 编辑 Java 类所有属性值的注释

java - Spring MVC 4 : Mockmvc empty MockResponse content

Java EE NameNotFoundException;

java - Jersey 和 Google App Engine (GAE) 不适合我

google-app-engine - 使用 Docker 的 gcloud auth 登录不能像文档中所说的那样工作