Playでいくつかの基本的なユニットテストを起動して実行しようとしています!意図されたデプロイメントターゲットとしてGAEを備えたSiena永続性ライブラリを使用するフレームワーク。
プロジェクトを適切に構成し、アプリを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()の代わりに、各テストの前にテストデータベースをクリアするために何を使用する必要がありますか?
データベースが以前に挿入されたレコードを保持しているため、現在、2番目のアサーションは失敗します。