所以我使用了一些混合/匹配方法来加快测试速度
>我使用单独的配置文件进行测试和生产
>我使用两种不同的JPA持久性单元进行产品和测试
>在build.sbt中添加了overrode配置文件以便执行测试
>利用生成测试模式
>利用evolution将测试数据夹具加载到测试数据中
以下是我的文件:
CONF / test.conf
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:lb"
db.default.user=lb
db.default.password=""
#
# You can expose this datasource via JNDI if needed (Useful for JPA)
db.default.jndiName=DefaultDS
jpa.default=testPersistenceUnit
# Evolutions
# ~~~~~
# You can disable evolutions if needed
#evolutionplugin=disabled
CONF / application.conf
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://X.X.X.X/lb"
db.default.user=lb
db.default.password="lb"
#
# You can expose this datasource via JNDI if needed (Useful for JPA)
db.default.jndiName=DefaultDS
jpa.default=defaultPersistenceUnit
# Evolutions
# ~~~~~
# You can disable evolutions if needed
evolutionplugin=disabled
然后在build.sbt文件中添加以下选项
build.sbt
javaOptions in Test += "-Dconfig.file=conf/test.conf"
最后是persistence.xml文件
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
org.hibernate.ejb.HibernatePersistence
DefaultDS
org.hibernate.ejb.HibernatePersistence
DefaultDS
最后我用它来测试它
activator test
感谢play-framework google group的用户获得了实现这一目标的线索.