0

我在 application.yml 中使用了以下代码

environments:
  test:
        dataSource:
            dbCreate: none
            url: jdbc:mysql://<<IP>>/unit_test_db
            username: ****
            password: ****

仍然 grails 使用内存数据库进行单元测试。

4

1 回答 1

1

那可能是因为您的测试是在开发环境中运行的。可能导致这种情况的一件事是,如果您直接从 IDE 以grails.env未设置为test. 如果您使用 Gradle 运行测试,这会自动发生。我在https://blog.jetbrains.com/idea/2017/07/webinar-recording-why-intellij-idea-is-the-premier-ide-for-grails视频的 36:00 左右讨论这个问题-3/。如果您使用 IntelliJ,这可能会有所帮助。解决此问题的另一种方法是将 IDE 配置为将测试运行委托给 Gradle。如果您使用不同的 IDE,同样的想法也适用,但如何解决问题的详细信息将取决于您使用的 IDE。

如果您在从 Gradle 运行时遇到同样的问题,那么您的项目中可能存在某些配置错误,并且在不了解项目的更多信息的情况下可能难以识别其中的细节。

我希望这会有所帮助。

于 2019-07-08T13:49:41.670 回答