36
|
roufamatic RichardJohnn · 技术社区 · 15 年前 |
![]() |
1
18
我可以让它在不使用外部服务器的情况下工作,只需通过maven将依赖项添加到h2,然后使用这个bean:
同样,这要求我使用基于文件的数据库而不是内存中的数据库。但它起了作用。 |
![]() |
2
12
您可以使用启动和停止数据库的主要方法创建两个小类。其思想是在运行集成测试之前运行startserver类,然后在运行测试之后运行stopserver类。 您应该为您的DB服务器做同样的事情,如中所述。 this document (说明用于在集成测试中启动和停止码头) 在pom.xml中,应该定义maven exec插件来运行 exec:java 目标并创建2个执行(1个用于调用StartServer,1个用于StopServer):
希望这就是你想要的 |
![]() |
3
8
在集成测试(默认插件阶段)之前,此插件可以通过TCP模式生成新的h2 db: h2-maven-plugin on github 它没有很好的文档记录,但是您可以检查mojo源以了解配置选项。它在Maven Central上发布。 基本上,对于集成测试,您可能希望Maven:
这可以通过类似这样的Maven配置来实现。 假设集成测试是用自定义接口JUnit类别注释的:
这个Maven配置对我来说很好:
您可能希望在tomcat上下文文件上使用maven过滤器,以便替换端口:
文件内容为:
或者,如果不需要JNDI数据源,可以使用Spring声明的数据源,使用相同的属性… 如果您希望能够设置集成测试Tomcat,并从您的IDE中运行集成测试,则需要额外的一次旅行: 您可以使用属性来分叉或不分叉Tomcat服务器:
当您设置fork=false时,服务器将阻塞,Maven将不继续,因此集成测试将不会运行,但您将能够从IDE运行它们。 |
![]() |
4
5
|
![]() |
5
4
在我的项目中,对于单元测试,我要求Spring处理这个数据库创建和初始化。如中所述 H2 documentation ,您可以为此创建一个bean:
当您开始单元测试时,只需使用这个配置启动Spring上下文。 |
![]() |
6
4
在运行单元测试之前,我创建了一个基于文件的h2数据库。文件保存在
我使用Maven SQL插件如下:
可以通过运行
您还需要在Maven的依赖项中依赖com.h2database.h2。 |
![]() |
7
3
如果您想在内存中创建它,那么只需使用一个不同的URL:
您可以提供其他选项,例如:;db_close_delay=-1 见: http://www.h2database.com/html/features.html#in_memory_databases |
![]() |
8
1
因为h2不提供maven插件,所以应该使用maven-antrun插件启动它。在Ant任务中编写启动和停止h2引擎的代码,并在集成测试启动和停止时调用它。 详见 http://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing |
![]() |
9
1
以下是我的工作(只是用
请注意,在我的
|
![]() |
Tim Kirkwood · 比较空数据帧 8 月前 |
![]() |
nerrood · 为什么在笑话测试中不调用save 1 年前 |
![]() |
eof · Chrome块文件下载-selenium 1 年前 |
![]() |
Display name · Ember.js辛烷值验收试验 1 年前 |
![]() |
Vitto · 理智和回归测试是如何在一个简单的场景中协同工作的? 1 年前 |
![]() |
mattsmith5 · 使用特征文件并行计算空手道跑场景 1 年前 |
![]() |
Norronas · 采用裸机编程的寄存器单元测试 1 年前 |