- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我第一次运行依赖于 jdbc sql lite 驱动程序的测试套件时,测试套件通过了。如果我尝试再次运行测试套件,测试将失败,因为找不到适合数据库的驱动程序。这是控制台 session :
> > test-only *EclairTest*
15:56:27.386 TKD [EclairTest-akka.actor.default-dispatcher-14] ERROR a.h.i.engine.client.PoolMasterActor - connection pool for PoolGateway(hcps = HostConnectionPoolSetup(localhost,18332,ConnectionPoolSetup(ConnectionPoolSettings(4,0,5,32,1,30 seconds,ClientConnectionSettings(Some(User-Agent: akka-http/10.1.1),10 seconds,1 minute,512,None,WebSocketSettings(<function0>,ping,Duration.Inf,<function0>),List(),ParserSettings(2048,16,64,64,8192,64,8388608,256,1048576,Strict,RFC6265,true,Full,Error,Map(If-Range -> 0, If-Modified-Since -> 0, If-Unmodified-Since -> 0, default -> 12, Content-MD5 -> 0, Date -> 0, If-Match -> 0, If-None-Match -> 0, User-Agent -> 32),false,true,<function1>,<function1>,<function2>),None,TCPTransport),New,1 second),akka.http.scaladsl.HttpConnectionContext$@5fb80e0c,akka.event.MarkerLoggingAdapter@7da2ada2))) has shut down unexpectedly
[ERROR] [06/13/2018 15:56:27.404] [EclairTest-akka.actor.default-dispatcher-4] [akka.actor.ActorSystemImpl(EclairTest)] exception while executing timer task
[info] EclairTest:
[info] EclairTest
[info] - should connect to a running eclair instance
[info] ScalaTest
[info] Run completed in 3 seconds, 2 milliseconds.
[info] Total number of tests run: 1
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 1, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[info] Passed: Total 1, Failed 0, Errors 0, Passed 1
[success] Total time: 5 s, completed Jun 13, 2018 3:56:27 PM
> test-only *EclairTest*
[info] EclairTest:
[info] com.suredbits.api.ln.EclairTest *** ABORTED ***
[info] java.sql.SQLException: No suitable driver found for jdbc:sqlite:/home/chris/.eclair/regtest/eclair.sqlite
[info] at java.sql.DriverManager.getConnection(DriverManager.java:689)
[info] at java.sql.DriverManager.getConnection(DriverManager.java:270)
[info] at fr.acinq.eclair.NodeParams$.makeNodeParams(NodeParams.scala:136)
[info] at fr.acinq.eclair.Setup.<init>(Setup.scala:71)
[info] at com.suredbits.api.ln.EclairTest.<init>(EclairTest.scala:20)
[info] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[info] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[info] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[info] at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[info] at java.lang.Class.newInstance(Class.java:442)
[info] ...
[info] ScalaTest
[info] Run completed in 589 milliseconds.
[info] Total number of tests run: 0
[info] Suites: completed 0, aborted 1
[info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0
[info] *** 1 SUITE ABORTED ***
[error] Error: Total 1, Failed 0, Errors 1, Passed 0
[error] Error during tests:
[error] com.suredbits.api.ln.EclairTest
[error] (api/test:testOnly) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 1 s, completed Jun 13, 2018 3:56:31 PM
这对我来说似乎很奇怪。您认为什么可能导致此问题?如果我关闭 sbt 并重新启动,我会看到相同的行为。
<小时/>测试如下所示:
class EclairTest extends TestKit(ActorSystem("EclairTest")) with FlatSpecLike with BeforeAndAfterAll {
implicit val dispatcher = system.dispatcher
behavior of "EclairTest"
//assumes eclair is running
val datadir = new File("/home/chris/.eclair")
val setup = new Setup(
datadir = datadir,
actorSystem = system
)
val params = setup.nodeParams
val kitF: Future[Kit] = setup.bootstrap
it should "connect to a running eclair instance" in {
val balance: Future[fr.acinq.bitcoin.Satoshi] = kitF.flatMap(_.wallet.getBalance)
balance.map(b => assert(b.toLong >= 0))
}
override def afterAll: Unit = {
TestKit.shutdownActorSystem(system)
}
}
并且该依赖项被捆绑到另一个依赖项中,但我还使用
显式包含了 sqliteval hikari = ("com.typesafe.slick" %% "slick-hikaricp" % V.slickV).exclude("org.slf4j","slf4j-api")
val slick = "com.typesafe.slick" %% "slick" % V.slickV withSources() withJavadoc()
val dbcp = "commons-dbcp" % "commons-dbcp" % "1.4"
val postgresql = "org.postgresql" % "postgresql" % "9.4.1210"
val sqlite = "org.xerial" % "sqlite-jdbc" % V.sqliteV
lazy val api = project
.in(file("."))
.enablePlugins()
.settings(
mainClass := Some("com.suredbits.api.Main"),
fork in test := true,
resolvers += Resolver.sonatypeRepo("releases"),
resolvers += Resolver.mavenLocal,
libraryDependencies ++= Deps.api
)
<小时/>
开源项目以及开源项目的pom.xml文件定义在这里:https://github.com/ACINQ/eclair/blob/master/eclair-core/pom.xml#L175-L179
最佳答案
看起来 Setup.bootstrap
方法声明了 Eclair 库中的数据库,依赖于 JVM 退出来清理-在它之后,并且似乎没有提供允许您在测试结束时手动执行此操作的机制。 (如果有这样的机制,使用它也能达到目的。)
默认情况下,测试在 SBT 构建实例运行的同一个 JVM 中运行,因此,当您在第一次运行测试时声明的资源仍然存在。第二次运行测试。除此之外,在第二次及后续运行中,他们无法声明数据库资源,因为它们已经被声明了。
通过添加:
fork in Test := true
对于您的SBT构建,您将强制每个测试实例在其自己的JVM实例中运行,因此它每次都可以重新启动。
关于java - 运行 sbt 测试套件两次会导致 jdbc 驱动程序未找到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50846188/
我有兴趣弄清楚 sbt.TaskKey 或 sbt.SettingKey 的一些操作是做什么的 n + "-assembly-" + v + ".jar" } 此时你必须以某种方式知道 jarN
是否可以在 SBT 中注释掉整个文本 block ,类似于 /* Java 样式 block 注释 */ 语法?我遇到了一些构建错误,只能使用多个单行注释。 我看到的构建错误是解析表达式时出错。确保设
我在 Windows 上运行 SBT 1.1.1。 如果我将以下行放在 build.sbt 中,我的构建就可以了: credentials += Credentials(Path.userHome /
Maven 有 optional dependency概念。在 SBT 文档中搜索可选依赖项仅找到 "However, sometimes we have optional dependencies
我有一个 sbt 项目,其中包含大量子项目和外部库依赖项。 build.sbt是这样的: val extlib1 = "xy.xxx" % "lib1" % "1.0+" val extlib2 =
在编译我的 SBT 项目定义(即 project 目录中的文件)时,我收到了弃用和功能警告。 SBT 版本是 0.13.0。 我没有通过设置 scalacOptions := Seq("-featur
根据经验, build.sbt 中声明的库依赖项的顺序似乎很重要。这是真的?如果是这样,值得在 sbt library management 中简要提及。文档的部分。 最佳答案 是的,列出的顺序是用于
我希望我遗漏了一些东西,因为当程序在 sbt 中运行时,按键似乎不会回显到屏幕上。 下面是一个例子: object ConsoleTest extends App { println("Enter
[SBT 文档] 说 Put settings in a .sbt file in a project that isn't checked into version control, such as
这个问题在这里已经有了答案: How to use sbt from behind proxy? (16 个回答) 7年前关闭。 我试图在防火墙后面运行 sbt,但我无法禁用它。但不知何故,我可以获得
我刚刚偶然发现了 sbt-pack插入。开发流好像steady .这让我感到惊讶,因为我认为(引用 sbt-pack 的标题)唯一的插件是“创建可分发的 Scala 包”。是 sbt-assembly
如何配置 sbt 以使用代理? 例如,我的构建定义需要连接到 GitHub,指定 http.proxy、http.proxyPort、user 的连接参数,和密码。 我如何将这些设置传递给 sbt?
我似乎无法找到下面看到的第一次驱逐的根本原因。如下所示,运行 evicted 不会提供与其相关的详细信息。 这一切都是在添加到 project/plugins.sbt 之后发生的:libraryDep
我正在用 sbt 0.11.2 创建一个 Scala 项目和 sbt-idea,我得到了 UNRESOLVED DEPENDENCIES在 gen-idea任务。 我刚刚安装了 sbt(下载了 jar
对于使用 sbt 0.13.5 成功构建的项目(尝试升级到 0.13.6,仍然无法正常工作),我们在构建服务器上突然出现故障(typesafe 和 maven 存储库通过我们的内部 Nexus 存储库
在 unix shell 中试试这个: git clone git@github.com:jsuereth/sbt-in-action-examples.git cd sbt-in-action-ex
我想知道什么时候应该使用sbt assembly,什么时候应该使用sbt compile && sbt package? 我正在使用 Intellij IDEA 在我的本地计算机上编写一个程序,并使用
有没有人使用 sbt-aether-deploy 将 sbt-native-packager 生成的工件(在我的例子中是 tgz)发布到 nexus 仓库? (我需要这个用于带时间戳的快照,特别是 n
我正在尝试在使用 SBT 版本 0.13.5 的项目中启用自定义 AutoPlugin。当我尝试在我的 build.sbt 中启用插件时通过: val aProject = project.in(fi
我正在安装Apache Spark它使用自己的 SBT 副本来进行设置。 我在 VirtualBox 虚拟机中使用 Linux Mint。 以下是我从 Spark 目录 spark-0.9.0-inc
我是一名优秀的程序员,十分优秀!