public class JpaFixture extends Object
It processes YAML files located in /fixtures.
For example, the following schema:
@Entity
@Table(name = "CONTACT_CIRCLE")
public class Circle extends Model {
private String code;
private String name;
...
...
}
@Entity
@Table(name = "CONTACT_CONTACT")
public class Contact extends Model {
private String firstName;
private String lastName;
private String email;
@ManyToMany
private Set<Circle> circles;
...
...
...
The fixtures should be defined like this:
- !Circle: &family
code: family
name: Family
- !Circle: &friends
code: friends
name: Friends
- !Circle: &business
code: business
name: Business
- !Contact:
firstName: John
lastName: Smith
email: j.smith@gmail.com
circles:
- *friends
- *business
- !Contact:
firstName: Tin
lastName: Tin
email: tin.tin@gmail.com
circles:
- *business
In order to use the fixture data, the JpaFixture must be injected.
@RunWith(GuiceRunner.class)
@GuiceModules({MyModule.class})
class FixtureTest {
@Inject
private JpaFixture fixture;
@Before
public void setUp() {
fixture.load("demo-data.yml");
fixture.load("demo-data-extra.yml");
}
@Test
public void testCount() {
Assert.assertEqual(2, Contact.all().count());
...
}
...
}
| Constructor and Description |
|---|
JpaFixture() |
public void load(String fixture)