JHipster单元测试服务层

时间:2018-07-09 13:54:55

标签: unit-testing jhipster

我有一个运行良好的jhipster应用程序,但无法对其进行单元测试。它配置为使用mysql进行开发和生产。我已经几次更新了架构(导入了jdl),并使用了liquibase变更日志来保持它的快乐。我向服务层添加了一些功能,并希望对其进行测试以确保其行为符合预期。但是,当我运行单元测试时,我遇到了liquibase的问题。它抱怨“在表[维]中缺少列[material_template_id]”,所有帐户都应在其中。实体维度文件具有定义的列:

    <column name="material_template_id" type="bigint">
        <constraints nullable="true" />
    </column>

我已经定义了这样的单元测试:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = AlphaApp.class)
@Transactional
public class BomMaterialLineServiceImplTest {

    @Autowired
    BomMaterialLineServiceImpl bomLineSvc;

    @Before
    public void setUp() throws Exception {
    }

    @After
    public void tearDown() throws Exception {
    }

    @Test
    public void findBomMaterialLinesForBOM() {
    }
}

AlphaApp是主文件,其注释如下:

@ComponentScan
@EnableAutoConfiguration(exclude = {MetricFilterAutoConfiguration.class, MetricRepositoryAutoConfiguration.class})
@EnableConfigurationProperties({LiquibaseProperties.class, ApplicationProperties.class})
public class AlphaApp {

我尝试在测试配置文件中禁用liquibase。是否有使用jhipster实施这些测试的标准方法?在我看来,单元测试已配置为使用内存数据库作为标准-这是否使我感到悲伤?

1 个答案:

答案 0 :(得分:0)

是的,JHipster中的单元测试使用H2,但是您可以通过编辑src / test / resources / config / application.yml并更改数据源属性来对其进行更改。