5

dataSourceConfig.ymlデータベース構成ファイルを分離しました:

environments:
    development:
        dataSource:
            dbCreate: none
            url: jdbc:oracle:thin:xxxxxx
            driverClassName: oracle.jdbc.OracleDriver
            dialect: org.hibernate.dialect.Oracle10gDialect
            username: xxxx
            password: xxxx
    test:
        dataSource:
            dbCreate: none
            url: jdbc:oracle:thin:xxxxx
            driverClassName: oracle.jdbc.OracleDriver
            dialect: org.hibernate.dialect.Oracle10gDialect
            username: xxxxx
            password: xxxxx

次のプロジェクトに接続しますApplication.java

class Application extends GrailsAutoConfiguration implements EnvironmentAware {

    static void main(String[] args) {
        GrailsApp.run(Application, args)
    }

    @Override
    void setEnvironment(Environment environment) {
        String configPath = environment.getProperty("local.config.location")
        Resource resourceConfig = new FileSystemResource(configPath)
        YamlPropertiesFactoryBean ypfb = new YamlPropertiesFactoryBean()
        ypfb.setResources([resourceConfig] as Resource[])
        ypfb.afterPropertiesSet()
        Properties properties = ypfb.getObject()

        environment.propertySources.addFirst(new PropertiesPropertySource("local.config.location", properties))
    }
 }

Intellij IDEA 15 経由で統合テストを実行すると、開発環境でテストが実行されますが、YAML 構成ファイルにはテストセクションがあります。

これを修正する方法を知っている人はいますか?以下のコマンドは役に立ちません。

grails test test-app -integration 
4

1 に答える 1

7

IDE からテストを実行する場合は、実行構成を変更して を含める必要があります-Dgrails.env=test。すべてのテスト実行構成を編集する必要がないように、デフォルトの JUnit 実行構成に対してこれを行う必要があります。デフォルトの JUnit 実行構成を編集すると、将来作成されるすべての構成に影響しますが、既存の構成は更新されないことに注意してください。次にこれらのテストを実行するときに新しい設定で再作成されるように、既存の実行構成をすべて削除することをお勧めします。

于 2016-03-23T21:22:37.930 に答える