0
我在Windows 10上运行IntelliJ Idea 2017,我正在开发一个springboot项目,当我尝试运行简单测试用例时出现以下错误。IntelliJ Idea 2017:SpringBoot测试用例问题:内容不允许在序言中
Caused by: org.xml.sax.SAXParseException; systemId: file:..../src/test/java/com/hero/project/controller/MainControllerTest.java; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:999)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:281)
... 6 more
下面是测试情况下,它抱怨
package com.hero.project.controller;
import org.junit.Before;
import org.junit.Test;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
public class MainControllerTest {
private MockMvc mockMvc;
private MainController homeController;
@Before
public void setUp() throws Exception {
homeController = new MainController();
mockMvc = MockMvcBuilders.standaloneSetup(homeController).build();
}
@Test
public void index() throws Exception {
mockMvc.perform(get("/"))
.andExpect(status().isOk())
.andExpect(view().name("index"));
}
}
这是MainController类。
package com.hero.project.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Calendar;
@Controller
public class MainController {
@RequestMapping("/")
public String index(Model model){
int year = Calendar.getInstance().get(Calendar.YEAR);
model.addAttribute("year",year);
return "index";
}
}
注意:在使用的IntelliJ IDEA 2017年的同一版本的Mac上相同的代码工作正常。我很难调试这个问题。我会感谢任何帮助。谢谢
可能的重复http://stackoverflow.com/questions/32772352/java-file-content-not-allowed-in-prolog – duffymo
不,这不是我尝试相同的解决方案,但没有工作,似乎它与Intellij的问题我使用Intellij Idea从零开始创建了这个项目 –
我正在使用IntelliJ 2017并且没有遇到这样的问题。我认为这是你的代码。 – duffymo