我希望Spring Boot使用一个MySQL测试数据库,该数据库位于应用程序数据库旁边,用于集成测试。目前,它正在自动使用H2数据库,因为我在Gradle中添加了H2依赖项。
例如,这个测试现在使用H2数据库运行,我更希望它使用物理辅助数据库。
import org.junit.Test;
import org.junit.runner.RunWith;
import org.observer.media.model.MediaGroup;
import org.observer.media.repository.MediaGroupRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class)
@SpringBootTest
public class MediaGroupServiceTest {
@Autowired
private MediaGroupService mediaGroupService;
@Autowired
private MediaGroupRepository mediaGroupRepository;
@PersistenceContext
private EntityManager entityManager;
private MediaGroup mediaGroup = new MediaGroup("name", "ceo", "owner");
@Test
public void save() {
MediaGroup entity = mediaGroupService.saveNew(mediaGroup);
assertThat(mediaGroupRepository.findByName(mediaGroup.getName())).isEqualTo(entity);
}
}
在测试中默认使用内存中的数据库。您可以禁用该行为,并让它使用应用程序配置的数据库,将注释@autoConfigureTestDatabase(replace=replace.none)
添加到您的测试中(请参见自动配置数据JPA测试)。
然后,您可以添加application.properties
或与src/test/resources
等效的文件,或者添加单独的应用程序文件,如application-test.properties
,并通过使用@activeprofiles(“test”)
注释测试来使用它。
问题内容: 我在使用RestTemplate以UTF-8编码发布JSON时遇到问题。JSON的默认编码为UTF-8,因此媒体类型甚至不应包含字符集。我试图将charset放入MediaType中,但无论如何似乎都行不通。 我的代码: 问题答案: 您需要将StringHttpMessageConverter添加到具有字符集UTF-8的其余模板的消息转换器中。像这样
我在使用RESTTemplate发布带有UTF-8编码的JSON时遇到了问题。JSON的默认编码是UTF-8,所以媒体类型甚至不应该包含字符集。我曾尝试将charset放入MediaType,但无论如何似乎都不起作用。 我的代码:
问题内容: 我想用Cython包装一个包含C ++和OpenMP代码的测试项目,并通过文件与distutils一起构建它。我文件的内容如下所示: 该标志与gcc一起用于针对OpenMP进行编译和链接。但是,如果我只是调用 由于编译器是clang,因此无法识别此标志: 我尝试指定gcc失败: 如何告诉distutils使用gcc? 问题答案: 尝试使用os.environ从setup.py内部设置“
我想用Cython包装一个包含C和OpenMP代码的测试项目,并通过一个文件用distutils构建它。我的文件内容是这样的: 标志与gcc一起用于编译和链接OpenMP。然而,如果我只是调用 无法识别此标志,因为编译器为clang: 我尝试指定gcc失败: 如何告诉distutils使用gcc?
问题内容: 我正在尝试创建一个HashSet(或任何集合类型- 但我认为HashSet最适合我),无论插入什么,它都将保持顺序。这是我正在从事的联系人管理器项目。我一直在尝试以下示例。 我希望输出将名称按字母顺序排列-至少根据其名字或姓氏。但是,我什至无法辨别用于此排序的HashSet方法。 我的问题是,如何告诉程序如何根据规范对名称进行排序? 问题答案: HashSet不会为条目提供任何有意义的
问题内容: 我的项目有多个使用方法的类。如何告诉Spring Boot Maven插件应将其用作主类? 问题答案: 在pom中添加您的入门班: 要么