Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在arquillian中添加资源时获取nullpointerexception_Java_Junit_Nullpointerexception_Jboss Arquillian_Shrinkwrap - Fatal编程技术网

Java 在arquillian中添加资源时获取nullpointerexception

Java 在arquillian中添加资源时获取nullpointerexception,java,junit,nullpointerexception,jboss-arquillian,shrinkwrap,Java,Junit,Nullpointerexception,Jboss Arquillian,Shrinkwrap,我试图从arquillian中的项目目录中添加一个文件,但得到了nullPointerException validXml="META-INF/validXml.xml"; @InjectMocks Validator validator; @Deployment public static WebArchive createTestArchive() { return ShrinkWrap .create(WebArchive.clas

我试图从arquillian中的项目目录中添加一个文件,但得到了nullPointerException

   validXml="META-INF/validXml.xml";

    @InjectMocks
Validator validator;


   @Deployment
public static WebArchive createTestArchive() {
    return ShrinkWrap
            .create(WebArchive.class, "test.war")
            .addClasses(Validator.class)
            .addAsLibraries(libs)
            .addAsResource("validXml.xml", "META-INF/validXml.xml")
            .addAsWebInfResource(new StringAsset("<beans/>"), "beans.xml")
            .addAsWebInfResource(new StringAsset("<web-app></web-app>"),
                    "web.xml");
}

@Test
public void validatorTestor(){
        String validLine;
        BufferedReader bufferedReaderValid = new BufferedReader(
                new FileReader(new File(validXmlFile)));

        validPayload = new StringBuilder();

        while ((validLine = bufferedReaderValid.readLine()) != null) {
            validPayload.append(validLine.trim());
        }

        Assert.assertEquals(true,validator.validator(validPayload));

    }
validXml=“META-INF/validXml.xml”;
@注射模拟
验证器;
@部署
公共静态WebArchive createTestArchive(){
回缩包装
.create(WebArchive.class,“test.war”)
.addClasses(Validator.class)
.addAsLibraries(libs)
.addAsResource(“validXml.xml”、“META-INF/validXml.xml”)
.addasWebInfoResource(新的StringAsset(“”,“beans.xml”)
.AddAsWebInfoResource(新StringAsset(“”),
“web.xml”);
}
@试验
公共void验证器testor(){
字符串有效线;
BufferedReader bufferedReaderValid=新的BufferedReader(
新文件读取器(新文件(validXmlFile));
validPayload=新的StringBuilder();
而((validLine=bufferedReaderValid.readLine())!=null){
validPayload.append(validLine.trim());
}
Assert.assertEquals(true,validator.validator(validPayload));
}
这是我得到的例外::

Caused by: java.lang.Exception: Unexpected exception, expected<com.sample.common.exception.SampleException> but was<java.lang.NullPointerException>
at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:28)
at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:226)
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at    org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185)
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
at org.jboss.arquillian.junit.container.JUnitTestRunner.execute(JUnitTestRunner.java:65)
at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.executeTest(ServletTestRunner.java:160)
at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.execute(ServletTestRunner.java:126)
at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.doGet(ServletTestRunner.java:90)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
at java.lang.Thread.run(Thread.java:724)
原因:java.lang.Exception:意外异常,应为,但为
位于org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:28)
位于org.jboss.arquillian.junit.arquillian$4.evaluate(arquillian.java:226)
位于org.jboss.arquillian.junit.arquillian.multiExecute(arquillian.java:314)
访问org.jboss.arquillian.junit.arquillian.access$100(arquillian.java:46)
位于org.jboss.arquillian.junit.arquillian$5.evaluate(arquillian.java:240)
位于org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
位于org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
位于org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
位于org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
位于org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
位于org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
访问org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
位于org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
位于org.jboss.arquillian.junit.arquillian$2.evaluate(arquillian.java:185)
位于org.jboss.arquillian.junit.arquillian.multiExecute(arquillian.java:314)
访问org.jboss.arquillian.junit.arquillian.access$100(arquillian.java:46)
位于org.jboss.arquillian.junit.arquillian$3.evaluate(arquillian.java:199)
位于org.junit.runners.ParentRunner.run(ParentRunner.java:309)
位于org.jboss.arquillian.junit.arquillian.run(arquillian.java:147)
位于org.junit.runner.JUnitCore.run(JUnitCore.java:160)
位于org.junit.runner.JUnitCore.run(JUnitCore.java:138)
位于org.jboss.arquillian.junit.container.junitestrunner.execute(junitestrunner.java:65)
位于org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.executeTest(ServletTestRunner.java:160)
位于org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.execute(ServletTestRunner.java:126)
位于org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.doGet(ServletTestRunner.java:90)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
位于org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
运行(Thread.java:724)
validPayload
中获取错误,因为
validXml
未拾取,导致nullPointerException,尝试将文件放入
src/test/resources
中,但没有结果。
提前感谢

每当出现异常时,请始终在此处打印完整的堆栈跟踪。另外,让我们知道到底标记了哪一行。您需要向我们显示验证器类或至少正在测试的方法。