Hallo zusammen.
Ich zeige euch ersteinmal kurz meine KLassenstruktur :
So ich aheb also ein Season Klasse mit Repository und auch eine Competition Klasse. Meine Frage wenn ich nun das Competition repository testen möchte., z.B dass ein Competition Object richtig angelegt wird, so benötigte ich immer auch ein Season Object. Dieses muss vorher in der Datenbank auch angelegt werden.
Bisher habe ich mir eine TestUtils KLasse geschrieben, die mir solche Objekte erzeugt - also wirklich ind er Datenbank speichert. Meine Frage ist nun : Gibt es da eine elegantere Möglichkeit ?
Ich zeige euch ersteinmal kurz meine KLassenstruktur :
Java:
@Builder(setterPrefix = "with")
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Entity
@Table(name = "samsSeason", uniqueConstraints = @UniqueConstraint(columnNames = {"startYear", "endYear"}))
@ToString(callSuper = true)
public class Season extends DataEntity {
@NonNull
@JoinColumn(name = "startYear")
private Integer startYear;
@NonNull
@JoinColumn(name = "endYear")
private Integer endYear;
}
Java:
@Builder(setterPrefix = "with")
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Entity
@Table(name = "samsCompetition", uniqueConstraints = @UniqueConstraint(columnNames = {"name", "season"}))
@ToString(callSuper = true)
public class Competition extends DataEntity {
@NonNull
@Column(name = "name")
private String name;
@NonNull
@ManyToOne
@JoinColumn(name = "season")
private SamsSeason season;
}
Java:
@Repository
public interface CompetitionRepository extends JpaRepository<Competition, Long> {
Optional<Competition> findByNameAndSamsSeason(String name, Season season);
}
Java:
@Repository
public interface SeasonRepository extends JpaRepository<Season, Long> {
Optional<Season> findByStartYearAndEndYear(int startYear, int endYear);
}
So ich aheb also ein Season Klasse mit Repository und auch eine Competition Klasse. Meine Frage wenn ich nun das Competition repository testen möchte., z.B dass ein Competition Object richtig angelegt wird, so benötigte ich immer auch ein Season Object. Dieses muss vorher in der Datenbank auch angelegt werden.
Bisher habe ich mir eine TestUtils KLasse geschrieben, die mir solche Objekte erzeugt - also wirklich ind er Datenbank speichert. Meine Frage ist nun : Gibt es da eine elegantere Möglichkeit ?