【发布时间】:2018-05-13 11:04:23
【问题描述】:
我运行 gradle 脚本,依赖于 jupiter、wicket spring boot start 和 springboot starter
buildscript {
repositories {
mavenCentral()
// The following is only necessary if you want to use SNAPSHOT releases.
// maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
}
dependencies {
classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.2'
}
}
apply plugin: 'org.junit.platform.gradle.plugin'
// Apply the java-library plugin to add support for Java Library
apply plugin: 'java'
junitPlatform {
reportsDir file('build/test-results/junit-platform') // this is the default
enableStandardTestTask true
// selectors (optional)
// filters (optional)
}
// In this section you declare where to find the dependencies of your project
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
dependencies {// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
compile group: 'org.springframework.boot', name: 'spring-boot-starter', version: '1.5.9.RELEASE'
// https://mvnrepository.com/artifact/com.giffing.wicket.spring.boot.starter/wicket-spring-boot-starter
compile group: 'com.giffing.wicket.spring.boot.starter', name: 'wicket-spring-boot-starter', version: '2.0.4'
}
dependencies {
testCompile("org.junit.jupiter:junit-jupiter-api:5.0.2")
testRuntime("org.junit.jupiter:junit-jupiter-engine:5.0.2")
}
dependencies {
testCompile("junit:junit:4.12")
testRuntime("org.junit.vintage:junit-vintage-engine:4.12.2")
}
在测试中
package steinKo.ATM.Web.test.unit;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.Test;
class HomePageTest {
private WicketTester tester;
@Test
public void shouldRender() {
tester = new WicketTester();
tester.startPage(HomePage.class);
tester.assertRenderedPage(HomePage.class);
}
}
在课堂上
package steinKo.ATM.Web;
import org.apache.wicket.markup.html.WebPage;
public class HomePage extends WebPage{
/**
*
*/
private static final long serialVersionUID = 1L;
}
用html
插入 标题在这里
我收到以下错误消息
2:57:15.185 [主要] 调试 org.apache.wicket.core.util.resource.locator.ResourceStreamLocator - 尝试使用定位资源 'org/apache/wicket/Page.html' finder'[webapppath: /]' 22:57:15.185 [main] DEBUG org.apache.wicket.core.util.resource.locator.ResourceStreamLocator - 尝试使用定位资源 'org/apache/wicket/Page.html' finder'[classpath: META-INF/resources/]' 22:57:15.186 [main] DEBUG org.apache.wicket.markup.MarkupCache - 未找到标记: steinKo.ATM.Web.HomePage_nb_NO.html 22:57:15.195 [主要] 调试 org.apache.wicket.page.PageAccessSynchronizer - 'main' 试图 获取 ID 为“0”的页面的锁定 22:57:15.195 [main] DEBUG org.apache.wicket.page.PageAccessSynchronizer - 主要获得锁到 第 0 页 22:57:15.229 [main] WARN RequestCycleExtra - ************************************ 22:57:15.232 [main] WARN RequestCycleExtra - 处理以下异常 org.apache.wicket.markup.MarkupNotFoundException:无法确定 标记。组件尚未连接到父级。 [第1234562页= steinKo.ATM.Web.HomePage,id = 0,渲染计数 = 1]
我认为错误是由于在 Gradle 中 Homepage.java 和 HomePage.hlml 之间缺乏链接造成的
我该如何解决这个错误?
【问题讨论】:
-
我已经稍微清理了你的 sn-ps。如果您可以将示例缩小到重现错误所需的最低限度,那就太好了。我数不清你的代码中有多少个按钮,甚至没有开始阅读 html。或者错误消息,就此而言。
-
希望编辑让问题更清晰
-
HomePage.html文件是否与HomePage.java文件在同一个包中?如果是这样:可能需要指示 Gradle 在源目录中包含 HTML 文件作为应用程序的一部分 -
HomePage.html 和 HomePage.jave 在同一个包和目录中。如何指示 Gradle 包含 HTML 文件?
-
只需将所有资源(即非Java源代码文件,如您的HTML)从
src/test/java文件夹结构移动到src/test/resources结构。
标签: java eclipse wicket junit5 gradle-eclipse