请注意,此代码适用于普通的Spring,但不适用于Spring Boot(v1.3.3),是否有一些我缺少的东西,因为这是从一个有效的弹簧应用程序导入的.下面的代码来自spring boot应用程序
@Entity
@Table(name="project")
public class Project implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id")
private int id;
@Column(name="teamId")
private int teamId;
//private String Rentabiliteit;
@Column
//@Index(name="IProject_status",columnNames="Status")
private String status;
@Column
//@Index(name="IProject_naam",columnNames="Naam")
private String naam;
//public Prototype m_Prototype;
//public Team m_Team;
}
Run Code Online (Sandbox Code Playgroud)
SQL
CREATE TABLE IF NOT EXISTS `project` (
`id` int(11) NOT NULL,
`teamId` int(11) DEFAULT NULL,
`status` varchar(255) DEFAULT NULL,
`naam` varchar(255) DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)
错误
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: …Run Code Online (Sandbox Code Playgroud) 这里/sf/answers/3707769131/ 很好地解释了为什么 @DataJpaTest @SpringBootTest 不应该混合在一个应用程序中。
但是几乎没有解释无论如何都需要测试 MVC SpringBoot 应用程序的每一层的情况(从我的角度来看,很自然地不仅要测试一层或仅测试另一层,而且甚至测试所有层,不是吗?)
所以有人建议使用 @AutoConfigureTestDatabase 而不是 @DataJpaTest 的解决方案,但没有完成工作(((
所以我的问题是:使用@AutoConfigureTestDatabase 是一个合适的解决方案吗?如果是,请详细说明。如果不是,请提出更合适的解决方案,谢谢