<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
<executions>
<execution>
<id>pre-integration-test</id>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>post-integration-test</id>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<executions>
<execution>
<id>run e2e tests</id>
<phase>integration-test</phase>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run verify</arguments>
</configuration>
</execution>
</executions>
</plugin>
我用gradle-spawn-plugin来处理它,但它看起来很复杂
后端/Build.Gradle
plugins {
id "com.wiredforcode.spawn" version "0.8.2"
}
task startServer(type: SpawnProcessTask, dependsOn: 'bootJar') {
command "java -jar ${projectDir}/build/libs/project-${version}.jar --spring.profiles.active=integration"
ready 'Started'
}
task stopServer(type: KillProcessTask)
前端/建筑.梯度
task verify(dependsOn: ':backend:startServer', type: NpmTask) {
// Copy from 'dist'
inputs.files(fileTree('tests/e2e'))
dependsOn 'npmBuild'
args = ['run', 'verify']
}
check.dependsOn verify
verify.finalizedBy ':backend:stopServer'
"http-nio-127.0.0.1-8082-exec-2" #27 daemon prio=5 os_prio=0 cpu=462,00ms elapsed=531,88s tid=0x00007f1442a32000 nid=0x76d5 waiting on condition [0x00007f136f021000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base@11.0.7/Native Method)
- parking to wait for <0x0000000454d81218> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(java.base@11.0.7/LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(java.base@11.0.7/AbstractQueuedSynchronizer.java:885)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(java.base@11.0.7/AbstractQueuedSynchronizer.java:917)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(java.base@11.0.7/AbstractQueuedSynchronizer.java:1240)
at java.util.concurrent.locks.ReentrantLock.lock(java.base@11.0.7/ReentrantLock.java:267)
at ch.qos.logback.core.OutputStreamAppender.writeBytes(OutputStreamAppender.java:197)
at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:231)
at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84)
at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
at ch.qos.logback.classic.Logger.info(Logger.java:579)
问题内容: 在maven中,我可以为依赖关系解析指定“类型”。我正试图拉下一个。如何使用Gradle做到这一点? 我已经尝试过使用下面的Gradle Dependency,但这并没有降低。 Maven依赖关系: 详细信息: Gradle 1.7 我正在尝试从 Maven Central 下拉“ hbase-0.94.2-tests.jar” 问题答案: Gradle没有Maven的直接等效项,但应
Gradle的Groovy插件声称它支持联合编译,允许自由混合和匹配Groovy和Java代码,并在两个方向上都有依赖关系“。 但是,我不认为这适用于测试代码。 我在使用位于中的类。 当尝试使用Gradle构建时,我会遇到如下错误: 请注意,是一个尚未编译的Groovy类(在Gradle输出中,我可以看到它在尝试之前没有运行,因为前者依赖于后者)。 我能够使用groovy-eclipse插件与Ma
我需要测试使用@ConfigurationProperties bean的自动配置类。我正在使用中记录的ApplicationContextRunnerhttps://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-具有测试自动配置功能,可以加快测试速度,避免在每个变体之间启
我无法使用maven运行spring boot应用程序的测试。我看过很多关于这个的帖子,他们的大多数解决方案是: 将junit版本与maven surefire插件或 确保junit版本不是由预定义的 我的项目不使用父级,也不使用专家-sure-fire插件。否则,根据pom文件,我没有看到任何明显的冲突。我确实看到了 ,但这是向后兼容性的纯复古依赖性的一部分。 是什么导致了这种情况? 砰的一声
我正在Saucelabs中运行测试,需要在运行时设置一个名为“name”的功能,这是测试方法的名称。这必须对来自DataProvider的每个DesiredCapables对象执行。 然后,我需要实例化一个活动的RemoteWebDriver对象,以便在包含此功能的情况下运行测试。 尝试运行代码时出错: 只能将ITestContext、XmlTest、Method、Object[]、ITestRe
对于我的单元测试,我使用以下注释: @runwith(SpringJunit4ClassRunner.class) @SpringBootTest(classes=MyApplication.class) 我的问题发生在我试图用Selenium测试GUI时。在我的gui测试中,我调用了一些页面并验证了html消息的内容。 我不需要模拟,我需要在我的测试前开始申请。什么是优雅的方式来做到这一点? 注