0

JPA/PlayframeworkでUniqueConstraintをテストしたいと思います。

    @Test
    public void saveWithTitleNotUnique() {  // not unique title

        Software software1 = builder.template1().withTitle("title1").create();
        Software software2 = builder.template1().withTitle("title1").create();

        software1.save();

        try {
            software2.save();
            fail("software.title is not unique");
        } catch (Exception ex) {}

    }

..。

@Entity
public class Software extends Model {

    @Column(unique = true)
    public String title;

ただし、例外が発生しないため、テストは毎回失敗します。

4

2 に答える 2

0

例外を持つソフトウェアのインスタンスを作成していません!あなたはする必要があります:Software software = new Software();

于 2012-12-27T09:47:31.380 に答える
0

私は理解しました:

ソフトウェアインスタンスの構築中にミスがありました。したがって、それは機能し、例外をスローします。

@Test
public void saveWithTitleNotUnique() {  // not unique title

    SoftwareTemplateBuilder builder1 = new SoftwareTemplateBuilder();
    Software software1 = builder1.template1().withTitle("title1").create();

    SoftwareTemplateBuilder builder2 = new SoftwareTemplateBuilder();
    Software software2 = builder2.template1().withTitle("title1").create();

    software1.save();

    try {
        software2.save();
        fail("software.title is not unique");
    } catch (PersistenceException ex) {}
}
于 2012-12-27T21:59:20.690 に答える