के लिए यूनिट टेस्ट मैं अपने स्प्रिंग बूट आधारित एप्लिकेशन के लिए यूनिट परीक्षण लिखने की कोशिश कर रहा हूं जो हाइबरनेट/जेपीए इकाइयों & डीएओ का उपयोग करता है। ये कदम उठाएँ मैं अब तक का पालन किया है कर रहे हैं:स्प्रिंग बूट हाइबरनेट जेपीए आधारित डीएओ
1)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>runtime</scope>
</dependency>
2 pom.xml करने के लिए) ../test/resources/application.properties में निम्नलिखित कहा, मैं इस जोड़ दिया है:
spring.jpa.hibernate.ddl-auto = create-drop
spring.jpa.database = HSQL
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.HSQLDialect
spring.datasource.driverClassName = org.hsqldb.jdbcDriver
spring.datasource.url: jdbc:hsqldb:mem:scratchdb
spring.datasource.username = sa
spring.datasource.password =
3) ../test/resources/import.sql में मैं डेटा निर्माण स्क्रिप्ट 'में डालने ...' में कुछ जोड़ दिया है,।
insert into groups(GROUP_NAME, THREAD_POOL_SIZE) values ("TEST GROUP 1", 5);
4) इकाई परीक्षण इस तरह दिखता है:
:org.hibernate.tool.hbm2ddl.SchemaExport : HHH000389: Unsuccessful: alter table..
org.hibernate.tool.hbm2ddl.SchemaExport : HHH000389: user lacks privilege or object not found: PUBLIC.GROUP
5) समूह इकाई:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
public class TestGroupDao {
@Autowired
GroupDao groupDao;
@Test
public void testFindByName() {
Group group = groupDao.findByName("TEST GROUP 1");
//assertThat(group.getPoolSize(), is(equalTo(5)));
}
}
जब मैं इस टेस्ट चलाने के लिए, मैं इस तरह के रूप त्रुटि संदेश
@Entity
@javax.persistence.Table(name = "groups", uniqueConstraints = {
@UniqueConstraint(columnNames = "GROUP_NAME"),
})
public class Group {
// ==============
// PRIVATE FIELDS
// ==============
// An autogenerated id (unique for each group in the db)
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "GROUP_ID", unique = true, nullable = false)
private long id;
@Column(name = "GROUP_NAME", unique = true, nullable = false)
private String name;
मुझे क्या याद आ रही है?
पोस्ट अपने समूह इकाई और अनुप्रयोग config के संबंधित भाग के मानचित्रण। –
मैं import.sql का नाम बदलने की कोशिश की data.sql करने और schema.sql जो समूह तालिका बनाता है बनाने, लेकिन अभी भी यह त्रुटि मिलती। – DilTeam
बिल्कुल सही नहीं है कि मैंने क्या बदल दिया, लेकिन यह अब काम कर रहा है। एकमात्र चीज मैंने किया था, मैंने आयात करने के लिए सभी आवश्यक SQLs को जोड़ा .ql। यही कारण हो सकता है। – DilTeam